发布网友 发布时间: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中的一二*都是手动创建的吗,还是通过代码创建?你说导航窗格是什么意思?