赞
踩
Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。
E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式
Spire.Doc for.NET 最新下载(qun:767755948)https://www.evget.com/product/3368/download
书签是指定 Word 文档中重要位置的好方法。Spire.Doc支持访问文档中的书签,并在书签位置插入文本、图片、表格等对象。本文将向您展示如何访问特定的书签并将当前书签内容替换为表格。
第 1 步:加载模板 Word 文档。
Document doc = new Document(); doc.LoadFromFile(@"C:\Users\Administrator\Desktop\employee.docx");
第 2 步:创建一个表对象。
Table table = new Table(doc,true);
第 3 步:用样本数据填充表。
DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(string)); dt.Columns.Add("name", typeof(string)); dt.Columns.Add("job", typeof(string)); dt.Columns.Add("email", typeof(string)); dt.Columns.Add("salary", typeof(string)); dt.Rows.Add(new string[] { "Emp_ID", "Name", "Job", "E-mail", "Salary" }); dt.Rows.Add(new string[] { "0241","Andrews", "Engineer", "andrews@outlook.com" ,"3.8K"}); dt.Rows.Add(new string[] { "0242","White", "Manager", "white@outlook.com","4.2K" }); dt.Rows.Add(new string[] { "0243","Martin", "Secretary", "martin@gmail.com", "3.5K" }); 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()); } }
第 4 步:通过名称获取特定书签。
navigator.MoveToBookmark("bookmark_employee");
第 5 步:创建一个 TextBodyPart 实例并将表格添加到其中。
BookmarksNavigator navigator = new BookmarksNavigator(doc); navigator.MoveToBookmark("bookmark_employee");
第 6 步:用 TextBodyPart 对象替换当前书签内容。
navigator.ReplaceBookmarkContent(part);
第 7 步:保存文件。
doc.SaveToFile("output.docx", FileFormat.Docx2013);
结果:
完整代码:
using Spire.Doc; using Spire.Doc.Documents; using System.Data; namespace ReplaceBookmark { class Program { static void Main(string[] args) { Document doc = new Document(); doc.LoadFromFile(@"C:\Users\Administrator\Desktop\employee.docx"); Table table = new Table(doc, true); DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(string)); dt.Columns.Add("name", typeof(string)); dt.Columns.Add("job", typeof(string)); dt.Columns.Add("email", typeof(string)); dt.Columns.Add("salary", typeof(string)); dt.Rows.Add(new string[] { "Emp_ID", "Name", "Job", "E-mail", "Salary" }); dt.Rows.Add(new string[] { "0241", "Andrews", "Engineer", "andrews@outlook.com", "3.8K" }); dt.Rows.Add(new string[] { "0242", "White", "Manager", "white@outlook.com", "4.2K" }); dt.Rows.Add(new string[] { "0243", "Martin", "Secretary", "martin@gmail.com", "3.5K" }); 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("bookmark_employee"); TextBodyPart part = new TextBodyPart(doc); part.BodyItems.Add(table); navigator.ReplaceBookmarkContent(part); doc.SaveToFile("output.docx", FileFormat.Docx2013); System.Diagnostics.Process.Start("output.docx"); } } }
以上便是用 C#、VB.NET 中的 Word 文档中的表格替换书签,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。