C# 操作word文档(插入文字/表格)

devtools/2024/12/23 1:10:17/

 主要思路:在word文档中需要插入数据的地方添加书签,然后通过获取word文档中的书签添加文字/表格

引用包:Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();object miss = System.Reflection.Missing.Value;DataTable dt_purCode = (DataTable)dataGridView1.DataSource; //需要插入word文档的表格数据string appPath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取模板路径object templatePath = appPath + "Template\\Report - 副本.docx";Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();object objDocType = Microsoft.Office.Interop.Word.WdDocumentType.wdTypeDocument;object objfalse = false;object objtrue = true;doc = (Microsoft.Office.Interop.Word.Document)appWord.Documents.Add(ref templatePath, ref objfalse, ref objDocType, ref objtrue);try{//获取模板中所有的书签Microsoft.Office.Interop.Word.Bookmarks odf = doc.Bookmarks;//在word文档 name 书签位置插入“张三”odf.get_Item("name").Range.Text = "张三";//在word文档 item书签位置插入表格数据Microsoft.Office.Interop.Word.Table dtWord = doc.Tables.Add(odf.get_Item("item").Range, dt_purCode.Rows.Count, dt_purCode.Columns.Count);dtWord.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleDot;dtWord.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleDot;//循环往表格里赋值for (int i = 1; i <= dt_purCode.Rows.Count; i++){for (int j = 1; j <= dt_purCode.Columns.Count; j++){dtWord.Rows[i].Cells[j].Range.Text = dt_purCode.Rows[i - 1][j - 1].ToString();dtWord.Rows[i].Cells[j].Range.Font.Size = 10;  //设置表格字体 10//如果表格字段包含箭头  设置字体颜色为红色if (dt_purCode.Rows[i - 1][j - 1].ToString().Contains("↓") || dt_purCode.Rows[i - 1][j - 1].ToString().Contains("↑")){dtWord.Rows[i].Cells[j].Range.Font.TextColor.RGB = (int)Microsoft.Office.Interop.Word.WdColor.wdColorRed; }}}}catch{throw;}finally{doc.Close();application.Quit();}


http://www.ppmy.cn/devtools/100903.html

相关文章

数学基础(十)

一、层次聚类 层次聚类是聚类算法的一种&#xff0c;通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中&#xff0c;不同类别的原始数据点是树的最低层&#xff0c;树的顶层是一个聚类的根节点。 常见聚类树有自下而上合并和自上而下分裂两种方法 …

《Python编程:从入门到实践》笔记(二)

一、字典 在Python中&#xff0c;字典是一系列键—值对。每个键都与一个值相关联&#xff0c;你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上&#xff0c;可将任何Python对象用作字典中的值。在Python中&#xff0c;字典用放在花…

Windows下运行多个Mysql基于phpstudy不同版本

安装第二版本 安装完毕后&#xff0c;修改配置 这里提示下 可以用同版本的 后期有机会单出一篇 为了方便我先直接用小皮面板修改 方便 自己的可以参考其他博客手动配置 原理都是一样的 第二数据库版本8的端口和第一的区分开 分别为3306 3307这里稍后可能会产生一个报错…

服务器数据恢复—光纤共享存储互斥设置不当导致数据丢失的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 两台SOLARIS系统&#xff08;SPARC平台&#xff09;的服务器通过光纤交换机共享同一个存储作为CLUSTER使用。正常情况下只有A服务器工作。如果A服务器发生故障宕机&#xff0c;可将A服务器关机&#xff0c;开启B服务器接管。但由于配置…

加速打开gtihub的工具dev-sidecar

加速github&#xff0c;git clone&#xff0c; pip install 直接上工具链接 dev-sidecar code: https://github.com/docmirror/dev-sidecar dev-sidecar releases: https://github.com/docmirror/dev-sidecar/releases 不想看code的&#xff0c;直接点击 dev-sidecar releases…

企业监控大盘Grafana

企业监控大盘Grafana Grafana简述 Grafana 是一个开源的度量分析与可视化工具。提供查询、可视化、报警和指标展示等功能&#xff0c;能灵活创建图表、仪表盘等可视化界面 主要功能&#xff1a; 可视化: 提供多种可选择的不同类型的图形&#xff0c;能够灵活绘制不同样式&…

电脑U口管理软件分享|U口管理软件哪个好?

电脑U口&#xff08;即USB端口&#xff09;管理软件是保护电脑安全、防止数据泄露和恶意软件入侵的重要工具。 在选择U口管理软件时&#xff0c;需要考虑其功能、易用性、安全性以及是否满足个人或企业的具体需求。以下是一些值得推荐的电脑U口管理软件及其特点&#xff1a; 1…

“艺之窗”艺术展览平台的设计与实现---附源码97098

摘 要 随着信息技术的迅猛发展和互联网的广泛应用&#xff0c;艺术展览已逐渐从传统的实体空间向数字化平台拓展。数字化艺术展览平台不仅为艺术家提供了一个展示才华的广阔舞台&#xff0c;也为艺术爱好者带来了前所未有的观赏体验。在这样的背景下&#xff0c;设计并实现了“…