社区
C#
帖子详情
C#怎样生成固定文章格式word文档
傻瓜打蠢驴
2013-09-01 10:46:22
给出文章的标题、二级标题、正文以及表格,怎么样生成一个word文档,是否需要对word文档内部xml文件进行解析,把内容存入再输出? 这个过程是怎么样的,请求帮忙
...全文
283
5
打赏
收藏
C#怎样生成固定文章格式word文档
给出文章的标题、二级标题、正文以及表格,怎么样生成一个word文档,是否需要对word文档内部xml文件进行解析,把内容存入再输出? 这个过程是怎么样的,请求帮忙
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Sundays
2013-09-03
打赏
举报
回复
先在word里写出你的想要的格式(标题、二级标题、正文以及表格),然后查看对应的宏语言,将其转为C#语言就可以了(不过内容要自己在中间输入)
人生导师
2013-09-02
打赏
举报
回复
参考:
http://www.cnblogs.com/hyl8218/archive/2010/08/02/1790677.html
全栈极简
2013-09-01
打赏
举报
回复
创建一个模版,在里面创建好相应的占位符,然后读取数据替换即可。 refer:
http://blog.csdn.net/chinacsharper/article/details/8980456
threenewbee
2013-09-01
打赏
举报
回复
设定一个模板,设好各种样式的格式。用这个模板创建文档,根据你的要求,应用这些样式。这是最简单的。
qizhf3
2013-09-01
打赏
举报
回复
System.Type wordType = System.Type.GetTypeFromProgID("Word.Application"); //创建word对象 Object word = System.Activator.CreateInstance(wordType); wordType.InvokeMember("Visible", BindingFlags.SetProperty, null, word, new Object[] { true }); //让Word.Application可见; Object documents = wordType.InvokeMember("Documents", BindingFlags.GetProperty, null, word, null); Object document = documents.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, documents, new Object[] { Application.StartupPath + "\\空.dot" }); //新增一个文档,用New代替Add不行 Object tables = document.GetType().InvokeMember("Tables", BindingFlags.GetProperty, null, document, null); Object selection = wordType.InvokeMember("Selection", BindingFlags.GetProperty, null, word, null); //================================================================================================= const int wdAlignParagraphCenter = 1, wdAlignParagraphJustify = 3, wdCellAlignVerticalCenter = 1; Object paragraphFormat = selection.GetType().InvokeMember("ParagraphFormat", BindingFlags.GetProperty, null, selection, null); paragraphFormat.GetType().InvokeMember("Alignment", BindingFlags.SetProperty, null, paragraphFormat, new Object[] { wdAlignParagraphCenter }); //注意这里是SetProperty Object font = selection.GetType().InvokeMember("Font", BindingFlags.GetProperty, null, selection, null); font.GetType().InvokeMember("Size", BindingFlags.SetProperty, null, font, new Object[] { 15 }); font.GetType().InvokeMember("Bold", BindingFlags.SetProperty, null, font, new Object[] { true }); selection.GetType().InvokeMember("TypeText", BindingFlags.InvokeMethod, null, selection, new Object[] { " 的C# Word报表" }); selection.GetType().InvokeMember("TypeParagraph", BindingFlags.InvokeMethod, null, selection, null); Object range = selection.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, selection, null); Object[] arg = new Object[3]; arg[0] = range; arg[1] = this.dataGridView1.RowCount + 2; //表格行数 arg[2] = this.dataGridView1.ColumnCount; //表格列数 Object table = tables.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, tables, arg); //创建新表格,最后一个参数直接用new Object[] { range, 2, 5 }也是可以的; for (int i = 0; i < dataGridView1.ColumnCount; i++) { Object cell = table.GetType().InvokeMember("Cell", BindingFlags.InvokeMethod, null, table, new Object[] { 1, i + 1 }); //访问表格第1行,第1列,注意这里不是GetProperty Object cellRange = cell.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, cell, null); cellRange.GetType().InvokeMember("Bold", BindingFlags.SetProperty, null, cellRange, new Object[] { 1 }); Object row = rows.GetType().InvokeMember("Item", BindingFlags.InvokeMethod, null, rows, new Object[] { 1 }); Object rowCells = row.GetType().InvokeMember("Cells", BindingFlags.GetProperty, null, row, null); rowCells.GetType().InvokeMember("VerticalAlignment", BindingFlags.SetProperty, null, rowCells, new Object[] { wdCellAlignVerticalCenter }); cellRange.GetType().InvokeMember("InsertAfter", BindingFlags.InvokeMethod, null, cellRange, new Object[] { dataGridView1.Columns[i].Name }); }
C#
操作Word模拟解析HTML标记输出带
格式
的文本
摘要:本文介绍了一种解决
Word文档
格式
设置问题的方案。通过HTML标记化文本内容,利用正则表达式提取关键字,并对Word字符集对象逐字操作来重置
格式
。具体实现了字体、加粗和颜色等样式设置,最终替换掉HTML标记完成输出。方案适用于Windows Server 2019+Office 2016环境,使用
C#
开发,提供了核心方法processWordChars的实现代码,支持扩展更多样式设置。该方法有效解决了Word模板中特定文本
格式
设置的需求问题。
如何使用
C#
高效删除 Word 文档中的指定页或空白页
在处理 Word 文档时,删除不需要的页面,特别是空白页或特定页面,通常是必要的操作。通过
C#
编程,可以高效地自动化这个过程,减少手动操作带来的繁琐和错误。除了文中的删除页面操作,Spire.Doc 还支持许多其他的高级文档处理功能,例如
生成
图表、转换特定 Word 页面为PDF,插入和提取表格等。它为开发者提供了一个独立的解决方案,无需依赖 Microsoft Office 环境,使得处理 Word 文档在各种应用场景下更加高效和灵活。
C#
ASP.NET基于Word模板
生成
多页
Word文档
的完整实践
在企业级Web应用开发中,服务端
生成
Word文档
是常见需求,常用于合同、报表、成绩单等场景。传统动态拼装HTML或调用Word COM对象,常面临
格式
不可控、服务器环境受限、并发下进程卡死等问题。基于预排版的docx模板进行占位符替换,则是一种更健壮的方案:将Word本身作为排版引擎,由模板控制分页、页眉页脚和表格样式,后台仅负责填充动态数据,从而保证多页输出的稳定性和一致性。OpenXML SDK作为官方免费库,允许直接操作docx内部结构,实现高效的跨Run替换与表格行复制,且无需在服务器安装Offic
Word处理控件Aspose.Words功能演示:使用
C#
拆分 MS Word 文档
Aspose.Words for .NET是一个功能强大的文字处理 API,可让您使用
C#
或 VB.NET 创建和操作 MS Word 文档。此外,您可能需要将单个文档的页面拆分为多个文档。在这种情况下,您可以拆分文档的页面,以便将每张发票保存为单独的文档。API支持
生成
,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。以上便是使用
C#
拆分 MS Word 文档详细步骤 ,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。
C#
中操作Word组件的完全指南
在
C#
开发中,利用组件对象模型(Component Object Model, COM)组件可以扩展应用程序的功能。通过封装遗留代码或利用现成的第三方库,开发人员可以将这些COM组件集成到
C#
应用程序中,以实现丰富的交互功能。
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章