C#创建Word文档

C#创建Word文档
C#创建Word文档

C#创建Word文档

通过编程的方式生成Word文档是程序员一个常见的需求,掌握如何使用C#操作Word文档成为程序员不可或缺的一项技能。想要对Word进行操作,通常需要使用第三方类库,例如NPOI,DocX等控件。本例使用了免费版的Spire.Doc组件,该组件的好处在于开发环境和部署环境均无需安装MS Word,代码逻辑也十分简洁明了。

下载按装Spire.Doc后,需要添加Spire.Doc.dll到Visual Studio,并在程序开头添加以下命名空间:

using Spire.Doc;

using Spire.Doc.Documents;

using System.Drawing;

接下来就是完整的C#代码:

//创建一个Document实例

Document doc = new Document();

//添加一个section

Section section = doc.AddSection();

//设置页面大小

section.PageSetup.PageSize = PageSize.A4;

//添加三个段落并写入文字

Paragraph title = section.AddParagraph();

title.AppendText("百度文库");

Paragraph paragraph1 = section.AddParagraph();

paragraph1.AppendText("百度文库是百度发布的供网友在线分享文档的平台。百度文库的文档由百度用户上传," +

"需要经过百度的审核才能发布,百度自身不编辑或修改用户上传的文档内容。" +

"网友可以在线阅读和下载这些文档。百度文库的文档包括教学资料、考试题库、专业资料、" + "公文写作、法律文件等多个领域的资料。百度用户上传文档可以得到一定的积分,下载有标价的文档则需要消耗积分。" +

"当前平台支持主流的

doc(.docx)、.ppt(.pptx)、.xls(.xlsx)、.pot、.pps、.vsd、.rtf、.wps、.et、.dps、.pdf、.txt 文件格式。");

Paragraph paragraph2 = section.AddParagraph();

paragraph2.AppendText("百度文库平台于2009年11月12日推出,2010年7月8日,百度文库手机版上线。2010年11月10日," +

"百度文库文档数量突破1000万。 2011年12月文库优化改版,内容专注于教育、PPT、专业文献、应用文书四大领域。" +

"2013年11月正式推出文库个人认证项目。截至2014年4月文库文档数量已突破一亿。");

//将第一段作为标题,设置标题格式

ParagraphStyle style1 = new ParagraphStyle(doc);

https://www.360docs.net/doc/a65453199.html, = "titleStyle";

style1.CharacterFormat.Bold = true;

style1.CharacterFormat.TextColor = Color.DarkBlue;

style1.CharacterFormat.FontName = "宋体(heading)";

style1.CharacterFormat.FontSize = 12f;

doc.Styles.Add(style1);

title.ApplyStyle("titleStyle");

//设置其余两个段落的格式

ParagraphStyle style2 = new ParagraphStyle(doc);

https://www.360docs.net/doc/a65453199.html, = "paraStyle";

style2.CharacterFormat.FontName = "宋体(body)";

style2.CharacterFormat.FontSize = 11f;

doc.Styles.Add(style2);

paragraph1.ApplyStyle("paraStyle");

paragraph2.ApplyStyle("paraStyle");

//设置三个段落的对齐方式

title.Format.HorizontalAlignment = HorizontalAlignment.Center; paragraph1.Format.HorizontalAlignment = HorizontalAlignment.Justify; paragraph2.Format.HorizontalAlignment = HorizontalAlignment.Justify; //设置段首缩进

paragraph1.Format.FirstLineIndent = 20f;

paragraph2.Format.FirstLineIndent = 20f;

//设置段落之间的间距

title.Format.AfterSpacing = 15f;

paragraph1.Format.AfterSpacing = 10f;

paragraph2.Format.AfterSpacing = 10f;

//添加表格

Table table = section.AddTable(true);

//指定表格的行数和列数(4行,4列)

table.ResetCells(4, 4);

//写入数据

table[0, 0].AddParagraph().AppendText("中文名");

table[1, 0].AddParagraph().AppendText("外文名");

table[2, 0].AddParagraph().AppendText("运行时间");

table[0, 1].AddParagraph().AppendText("百度文库");

table[1, 1].AddParagraph().AppendText("BaiduWenku");

table[2, 1].AddParagraph().AppendText("2009年11月12日");

table[0, 2].AddParagraph().AppendText("口号");

table[1, 2].AddParagraph().AppendText("文档数量");

table[2, 2].AddParagraph().AppendText("上线时间");

table[3, 2].AddParagraph().AppendText("入住机构数量");

table[0, 3].AddParagraph().AppendText("让每个人平等地提升自我");

table[1, 3].AddParagraph().AppendText("125,311,263(至2015年4月9日)"); table[2, 3].AddParagraph().AppendText("2009年");

table[3, 3].AddParagraph().AppendText("超过2600家");

//创建两个段落格式(应用于表格中的文字)

ParagraphStyle style3 = new ParagraphStyle(doc);

https://www.360docs.net/doc/a65453199.html, = "tableStyle1";

style3.CharacterFormat.FontSize = 10;

style3.CharacterFormat.TextColor = Color.Gray;

style3.CharacterFormat.FontName = "宋体(body)";

doc.Styles.Add(style3);

ParagraphStyle style4 = new ParagraphStyle(doc);

https://www.360docs.net/doc/a65453199.html, = "tableStyle2";

style4.CharacterFormat.FontSize = 10;

style4.CharacterFormat.TextColor = Color.Black;

style4.CharacterFormat.FontName = "宋体(body)";

doc.Styles.Add(style4);

//应用格式

for (int i = 0; i

{

for (int j = 0; j

{

if (table[i, j].Paragraphs.Count != 0)

{

Paragraph tableParagraph = table[i, j].Paragraphs[0];

if (j % 2 == 0)

{

tableParagraph.ApplyStyle("tableStyle1");

}

else

tableParagraph.ApplyStyle("tableStyle2");

}

}

}

//保存文档

doc.SaveToFile("C#创建Word.docx", FileFormat.Docx2013); 结果文档

相关主题
相关文档
最新文档