C# 插入表格到Word书签位置
1、可付够通过E-iceblue或Nuget官网下载安装Free Spire.Doc for .NET后,注意在强惹泉项目程序泥英中添加引用Spire.Doc.dll(dll文件可在安装路径下的Bin文件夹中获取)。
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、调试运行程序,生成文档,如下图所示: