## **PageOffice动态插入Word表格**
在项目的开发中会遇到这样的需求:要求在生成word文件的时候,在文件的指定位置生成不定数目的表格,每个表格的结构是一样的,但是需要根据数据库中的数据记录对每个表格填充不同的数据。上面所说的这个需求的基本模型可以认为是在word文件的指定位置开始生成工资条,因为工资条的特点就是每个人的表格都一样,只是表格里面的信息不一样。
>[info]**解决思路:** 使用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文件中生成所有员工的工资条信息。
1. 模板template.doc 的表格如下:
| 员工编号 | 员工姓名 | 所属部门 |工资 | 发放时间 |
| --- | --- | --- | --- | --- |
| . | | | | |
2. 示意代码如下:
~~~
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++;
}
~~~
3. 在111.doc中生成的表格如下:
|员工编号| 员工姓名| 所属部门| 工资| 发放时间|
| ---|---|---|---|---|
|0001|张志强|技术|8000|2013-2-2|
|员工编号| 员工姓名| 所属部门| 工资| 发放时间|
| ---|---|---|---|---|
|0002|李志|技术|9000|2013-2-2|
……
- 序言
- 产品简介
- PageOffice试用版和和正式版的区别
- PageOffice对客户端的要求
- PageOffice客户端安装步骤
- PageOffice常用功能与工作原理
- OA系统中的文档在线编辑及流转
- 痕迹保留、键盘批注、手写批注
- 文件并发控制功能
- 与数据库的关系
- SaveDataPage和SaveFilePage的区别
- 调用ZoomSeal签章系统中的印章
- 使用RunMacro运行Office的宏
- 为什么采用弹窗方式打开文件
- POBrowser弹窗方式的具体使用
- Word篇
- 常用接口对象
- WordDocument类
- DataRegion类
- DataTag类
- Paragraph类
- Shape类
- Table类
- Column类
- Row类
- Cell类
- WaterMark类
- DataRegion与DataTag的区别
- 编辑模板中的数据区域
- 动态填充Word文档
- 动态插入Word表格
- 动态创建数据区域
- 数据区域点击事件
- 实现Word文档编辑区域控制
- Word文档全文检索
- Word文件版本对比功能
- 实现用户自定义Word模板
- 实现多个Word文件合并
- Excel篇
- 常用接口对象
- Workbook类
- Sheet类
- Table类
- Cell类
- 动态填充Excel文档
- Excel指定单元格点击事件
- 实现用户自定义Excel模板
- 读取Excel文档中的数据
- 隐藏Excel的行号列标
- Java篇
- PageOffice集成说明
- 动态生成Word文件
- 给Word中的Table赋值
- 动态生成Excel文件
- Maven项目中引用PageOffice
- FileMaker组件功能简介
- ASP.NET篇
- PageOffice集成说明
- 给Word中的Table赋值
- 动态生成Word文档
- FileMaker组件功能简介
- 其他
- POPDF组件功能简介
- PPT相关功能简介
- 实现多人同时编辑一份文档
- PageOffice与Apache POI的区别
- 如何录制宏和编辑宏
- PDF篇
- PDF盖章