C# 插入表格到Word书签位置
此条经验将分享如何通过C#编程来插入表格到Word书签位置。
工具/原料
Free Spire.Doc for .NET 6.3 (社区版)
Visual Studio
dll引用
1、可通过E-iceblue或Nuget官网下载安装Free Spire.Doc for .NET后,注意在项目程序中添加引用Spire.Doc.dll(dll文件可在安装路径下的Bin文件夹中获取)。
C#代码示例(供参考)
1、using Spire.Doc;using Spire.Doc.Documents;using System.Data;namespace InsertTableToBookmark_Doc{ class Program { static void Main(string[] args) { //创建文档,加载带有书签的测试文档 Document doc = new Document(); doc.LoadFromFile("test.docx"); //创建Table对象 Table table = new Table(doc, true); //创建模拟数据 DataTable dt = new DataTable(); dt.Columns.Add("PI", typeof(string)); dt.Columns.Add("Type", typeof(string)); dt.Columns.Add("Nov.", typeof(string)); dt.Columns.Add("YTD", typeof(string)); dt.Rows.Add(new string[] { "PI","Type", "Nov.", "YTD" }); dt.Rows.Add(new string[] { "1", "BAIC EC-Series", "15.719", "64.910" }); dt.Rows.Add(new string[] { "2", "Tesla Model S", "3.889", "46.951" }); dt.Rows.Add(new string[] { "3", "Nissan Leaf", "2.817", "46.423" }); //将数据填充至表格 table.ResetCells(dt.Rows.Count, dt.Columns.Count); for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { table.Rows[i].Cells[j].AddParagraph().AppendText(dt.Rows[i][j].ToString()); } } //获取指定书签位置 BookmarksNavigator navigator = new BookmarksNavigator(doc); navigator.MoveToBookmark("origin2"); //将表格添加至TextBodyPart TextBodyPart part = navigator.GetBookmarkContent(); part.BodyItems.Add(table); //替换书签内容 navigator.ReplaceBookmarkContent(part); //保存并打开文件 doc.SaveToFile("output.docx", FileFormat.Docx2013); System.Diagnostics.Process.Start("output.docx"); } }}
2、调试运行程序,生成文档,如下图所示: