在项目的开发中会遇到这样的需求:要求在生成word文件的时候,在文件的指定位置生成不定数目的表格,每个表格的结构是一样的,但是需要根据数据库中的数据记录对每个表格填充不同的数据。上面所说的这个需求的基本模型可以认为是在word文件的指定位置开始生成工资条,因为工资条的特点就是每个人的表格都一样,只是表格里面的信息不一样。
解决思路: 使用PageOffice实现这个需求模型的话需要一个模板template.doc,模板template.doc中包含了一个设计好的工资条的表格,在用PageOffice打开正式的文件(比如:zhengshi.doc)之前,用PageOffice的WordDocument对象获取到zhengshi.doc中要插入表格的那个指定位置,然后用DataRegion对象插入模板文件template.doc到这个位置,再使用Table对象把数据库中的值填充到表格中,接着在这个表格后面重复前面插入表格的方法插入新的表格和数据,直到所有的表格都生成完毕。
详细效果请参考PageOffice开发包中Samples4示例:
三、10、插入Word表格模板动态生成工资条
示例说明: 为了便于分析PageOffice 实现动态插入表格的核心代码,此演示打开了一个空白的Word文件作为正式文件来生成工资单。编写代码在文件末尾循环动态创建数据区域,并在数据区域中插入template.doc和填充数据,最终在word文件中生成所有员工的工资条信息。
- 模板template.doc 的表格如下:
. |
- 示意代码如下:
WordDocument doc = new WordDocument();
DataRegion data = null;
Table table = null;
int i = 0;
while (rs.next()) {
data = doc.createDataRegion("reg" + i,DataRegionInsertType.Before, "[End]");
data.setValue("[word]doc/template.doc[/word]");//插入模板中表格到文件中
//给单元格赋值
table = data.openTable(1);
table.openCellRC(2, 1).setValue(rs.getString("ID"));
table.openCellRC(2, 2).setValue(rs.getString("UserName"));
table.openCellRC(2, 3).setValue(rs.getString("DeptName"));
table.openCellRC(2, 4).setValue(rs.getString("Salary"));
table.openCellRC(2, 7).setValue(rs.getString("DateTime"));
i++;
}
- 在111.doc中生成的表格如下:
0001 | 张志强 | 技术 | 8000 | 2013-2-2 |
0002 | 李志 | 技术 | 9000 | 2013-2-2 |
……
相关推荐
以生成工资条为例,演示了通过PageOffice开发平台,用Java语言实现Word文档的在线打开、编辑和保存,数据区域数据的动态填充和提交,数据区域插入Word文件,动态填充和提交Word文件中Tabel的数据
文档中描述了PageOffice的用法 网络上面搜索所得,希望对大家有用!
JAVA不使用POI,用PageOffice动态导出Word文档[参考].pdf
java调用PageOffice读取数据库中的数据填充到word模板中,动态生成word文件
myWordApp.Selection.Sections[1].Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.NumberStyle = Microsoft.Office.Interop.Word.WdPageNumberStyle....
pageoffice在线预览编辑word,为您展示如何使用pageoffice强大的功能
以一个简单的示例,演示了通过PageOffice开发平台下的FileMaker标签控件,实现Word文件的批量生成
按照操作文档操作即可
SpringBoot(30) 整合PageOffice实现在线编辑Word和Excel
通过PageOffice开发平台下的FileMaker控件,用C#语言实现Word模版的动态填充和生成正式的Word文件
...
PageOffice除了提供Word/Excel动态数据填充,格式控制,Word/Excel用户输入提交,Word/Excel/PowerPoint/WPS等Office文档的在线打开、只读浏览、编辑、保存等功能外,还给在线协同办公内置了强大的支持功能:可编辑...
服务器端无需安装Office软件,根据数据库数据通过PageOffice动态赋值即可完成复杂的具有严谨规范格式的文档生成任务,并且可以在浏览器页面里查看、编辑生成的文档。例如Word公文通告、Excel报表等
调用PageOffice还可以实现从空白的excel文件动态生成excel表格,设置公式并填充数据。 集成PageOffice不但能够实现在线编辑、保存真正的Office文档,而且还可以轻松实现Word、Excel文档的动态数据填充、格式控制和...
PageOffice支持在JSP页面中预览和编辑word,ppt,excel等PageOffice支持在JSP页面中预览和编辑word,ppt,excel等PageOffice支持在JSP页面中预览和编辑word,ppt,excel等PageOffice支持在JSP页面中预览和编辑word,ppt,...
以生成工资条为例,演示了通过PageOffice开发平台下的PageOffice标签控件,实现Word文档的在线打开和编辑保存,数据区域数据的动态填充和提交,数据区域插入Word文件,在插入的Word文件的Tabel中填充数据和提交数据
PageOffice除了提供Word/Excel动态数据填充,格式控制,Word/Excel用户输入提交,Word/Excel/PowerPoint/WPS等Office文档的在线打开、只读浏览、编辑、保存等功能外,还给在线协同办公提供了强大的支持功能:可编辑...
Java编程调用PageOffice实现从空白的excel文件动态生成excel表格,设置公式并填充数据。 集成PageOffice不但能够实现在线编辑、保存真正的Office文档,而且还可以轻松实现Word、Excel文档的动态数据填充、格式控制和...
此压缩包包含了wordparser1.6.20和posetup.exe。wordpaser用于文档在线解析,posetup用于文档在线生成。pageoffice必备