C#中生成word,格式刷方法或代码怎么写?求教大神。

发布网友 发布时间:2022-04-23 22:40

我来回答

1个回答

热心网友 时间:2023-04-24 19:56

C#生成Word可以借助spire.doc库,NuGet搜索安装spire.doc.dll,然后参考下面的代码:

//创建文档

Document doc = new Document();

//添加section

Section s = doc.AddSection();

//添加段落

Paragraph para1 = s.AddParagraph();

para1.AppendText("欢迎使用Spire.Doc");

Paragraph para2 = s.AddParagraph();

para2.AppendText("Spire.Doc for .NET是一款专门对Word文档进行操作的.NET类库。"+

   "这款控件的主要功能在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印Microsoft"+

    "Word文档。作为一款的Word .NET控件,Spire.Doc for .NET的运行系统(服务"+

    "器端或客户端)均无需安装 Microsoft Word,但是它却可以将 Microsoft Word 文档的操"+

    "作功能集成到任何开发人员的 .NET 应用程序中。");

Paragraph para3 = s.AddParagraph();

para3.AppendText("Spire.Doc for .NET 能执行多种Microsoft Word文档处理任务的.NET " +

    "API。支持 Word97-2003,Word2007,Word2010 以及 Word2013。能在 Word 97/2003/2007/2010/2013"+

    "和XML、RTF、TXT、XPS、EPUB、EMF、HTML等格式文件之间进行双向转换,还能将Word文件高"+

    "质量地转换为PDF和SVG文件格式。");

//创建段落样式1

ParagraphStyle style1 = new ParagraphStyle(doc);

style1.Name = "titleStyle";

style1.CharacterFormat.Bold = true;

style1.CharacterFormat.TextColor = Color.Purple;

style1.CharacterFormat.FontName = "宋体";

style1.CharacterFormat.FontSize = 12;           

doc.Styles.Add(style1);

para1.ApplyStyle("titleStyle");

//创建段落样式2

ParagraphStyle style2 = new ParagraphStyle(doc);

style2.Name = "paraStyle";

style2.CharacterFormat.FontName = "宋体";

style2.CharacterFormat.FontSize = 11;

doc.Styles.Add(style2);

para2.ApplyStyle("paraStyle");

para3.ApplyStyle("paraStyle");

//设置段落对齐方式

para1.Format.HorizontalAlignment = HorizontalAlignment.Center;

para2.Format.HorizontalAlignment = HorizontalAlignment.Justify;

para3.Format.HorizontalAlignment = HorizontalAlignment.Justify;

//设置段落缩进

para2.Format.FirstLineIndent = 30;

para3.Format.FirstLineIndent = 30;

para1.Format.AfterSpacing = 15;

para2.Format.AfterSpacing = 10;

//保存文档

doc.SaveToFile("First_Word_Document.docx", FileFormat.Docx2013);

追问谢谢你的回答,是我的问题问的不对。现在的情况是这样的,两个section需要生成,两个section中都有一二*标题,当生成第一个section后导航窗格中一二*都可以显示,但是当生成第二个section时,因为同样存在同名的一二*标题,导航窗格中就无法显示了,都命名为heading1、heading2、heading3,且格式一样。请问你这个你有办法解决吗?分都归你了。

追答两个section中的一二*都是手动创建的吗,还是通过代码创建?你说导航窗格是什么意思?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com