查看: 4200|回复: 0

[ASP.NET教程] C# 如何添加表格到Word文档

发表于 2018-3-7 08:00:01

表格是组织整理数据的一种重要手段,应在生活中的方方面面。在Word文档中将繁杂的文字表述内容表格化,能快速、直接地获取关键内容信息。那么,通过C#,我们也可以在Word文档中添加表格,这里将介绍两种不同的表格添加方法。

使用工具:Spire.Doc for .NET

使用方法:安装后,添加引用dll文件到项目中即可


表格添加方法一:动态地向Word添加表格行和单元格内容,需调用方法section. AddTable()、table. AddRow和row. AddCell()

  1. using System;
  2. using Spire.Doc;
  3. using Spire.Doc.Documents;
  4. using Spire.Doc.Fields;
  5. using System.Drawing;
  6. namespace CreateTable_Doc
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. //创建一个Document类实例,并添加section
  13. Document doc = new Document();
  14. Section section = doc.AddSection();
  15. //添加表格
  16. Table table = section.AddTable(true);
  17. //添加表格第1行
  18. TableRow row1 = table.AddRow();
  19. //添加第1个单元格到第1行
  20. TableCell cell1 = row1.AddCell();
  21. cell1.AddParagraph().AppendText("序列号");
  22. //添加第2个单元格到第1行
  23. TableCell cell2 = row1.AddCell();
  24. cell2.AddParagraph().AppendText("设备名称");
  25. //添加第3个单元格到第1行
  26. TableCell cell3 = row1.AddCell();
  27. cell3.AddParagraph().AppendText("设备型号");
  28. //添加第4个单元格到第1行
  29. TableCell cell4 = row1.AddCell();
  30. cell4.AddParagraph().AppendText("设备数量");
  31. //添加第5个单元格到第1行
  32. TableCell cell5 = row1.AddCell();
  33. cell5.AddParagraph().AppendText("设备价格");
  34. //添加表格第2行
  35. TableRow row2 = table.AddRow(true, false);
  36. //添加第6个单元格到第2行
  37. TableCell cell6 = row2.AddCell();
  38. cell6.AddParagraph().AppendText("1");
  39. //添加第7个单元格到第2行
  40. TableCell cell7 = row2.AddCell();
  41. cell7.AddParagraph().AppendText("机床");
  42. //添加第8个单元格到第2行
  43. TableCell cell8 = row2.AddCell();
  44. cell8.AddParagraph().AppendText("M170010");
  45. //添加第9个单元格到第2行
  46. TableCell cell9 = row2.AddCell();
  47. cell9.AddParagraph().AppendText("12");
  48. //添加第10个单元格到第2行
  49. TableCell cell10 = row2.AddCell();
  50. cell10.AddParagraph().AppendText("8W");
  51. table.AutoFitBehavior(AutoFitBehaviorType.wdAutoFitWindow);
  52. //保存文档
  53. doc.SaveToFile("Table.docx");
  54. }
  55. }
  56. }
复制代码

效果示例:

9060ea4603536622881ebf1522817a3d.png

表格添加方法二:预定义表格行和列

  1. using System;
  2. using Spire.Doc;
  3. using Spire.Doc.Fields;
  4. using System.Drawing;
  5. namespace CreateTable2_Word
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. //创建一个Document类实例,并添加section
  12. Document document = new Document();
  13. Section section = document.AddSection();
  14. //添加表格指定表格的行数和列数(2行,5列)
  15. Table table = section.AddTable(true);
  16. table.ResetCells(2, 5);
  17. //获取单元格(第1行第1个单元格)并添加文本内容,设置字体字号颜色等(单元格中内容及个性化设置可以根据需要来进行调整)
  18. TextRange range = table[0, 0].AddParagraph().AppendText("序列号");
  19. range.CharacterFormat.FontName = "Arial";
  20. range.CharacterFormat.FontSize = 12;
  21. range.CharacterFormat.TextColor = Color.Brown;
  22. range.CharacterFormat.Bold = true;
  23. //获取单元格(第1行第2个单元格)并添加文本
  24. range = table[0, 1].AddParagraph().AppendText("设备名称");
  25. range.CharacterFormat.FontName = "Arial";
  26. range.CharacterFormat.FontSize = 12;
  27. range.CharacterFormat.TextColor = Color.Brown;
  28. range.CharacterFormat.Bold = true;
  29. //获取单元格(第1行第3个单元格)并添加文本
  30. range = table[0, 2].AddParagraph().AppendText("设备型号");
  31. range.CharacterFormat.FontName = "Arial";
  32. range.CharacterFormat.FontSize = 12;
  33. range.CharacterFormat.TextColor = Color.Brown;
  34. range.CharacterFormat.Bold = true;
  35. //获取单元格(第1行第4个单元格)并添加文本
  36. range = table[0, 3].AddParagraph().AppendText("设备数量");
  37. range.CharacterFormat.FontName = "Arial";
  38. range.CharacterFormat.FontSize = 12;
  39. range.CharacterFormat.TextColor = Color.Brown;
  40. range.CharacterFormat.Bold = true;
  41. //获取单元格(第1行第5个单元格)并添加文本
  42. range = table[0, 4].AddParagraph().AppendText("设备价格");
  43. range.CharacterFormat.FontName = "Arial";
  44. range.CharacterFormat.FontSize = 12;
  45. range.CharacterFormat.TextColor = Color.Brown;
  46. range.CharacterFormat.Bold = true;
  47. //获取单元格(第2行第1个单元格)并添加文本
  48. range = table[1, 0].AddParagraph().AppendText("1");
  49. range.CharacterFormat.FontName = "Arial";
  50. range.CharacterFormat.FontSize = 12;
  51. //获取单元格(第2行第2个单元格)并添加文本
  52. range = table[1, 1].AddParagraph().AppendText("机床");
  53. range.CharacterFormat.FontName = "Arial";
  54. range.CharacterFormat.FontSize = 12;
  55. //获取单元格(第2行第3个单元格)并添加文本
  56. range = table[1, 2].AddParagraph().AppendText("M170010");
  57. range.CharacterFormat.FontName = "Arial";
  58. range.CharacterFormat.FontSize = 12;
  59. //获取单元格(第2行第4个单元格)并添加文本
  60. range = table[1, 3].AddParagraph().AppendText("12");
  61. range.CharacterFormat.FontName = "Arial";
  62. range.CharacterFormat.FontSize = 12;
  63. //获取单元格(第2行第5个单元格)并添加文本
  64. range = table[1, 4].AddParagraph().AppendText("8W");
  65. range.CharacterFormat.FontName = "Arial";
  66. range.CharacterFormat.FontSize = 12;
  67. //保存文档
  68. document.SaveToFile("Table2.docx");
  69. }
  70. }
  71. }
复制代码

92a210f29b963d31e842a8b1d2c9605b.png


以上介绍的两种方法中,你可以根据自己的需要添加内容或者设置内容格式等。如果觉得对你有用的话,欢迎转载!感谢阅读。



回复

使用道具 举报