【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
上篇文章介绍了一下如何在word中插入表格。(java 集成 pageoffice 实现在 word 中插入表格并赋值 )
这次我们介绍一下如何给原有的word 表格动态添加行,并且实现单元格合并以及赋值。
一、核心代码
二、具体实现步骤
1、先在word 模板中插入一个 3行5列的表格,并设置书签PO_table
(注:插入书签的时候一定要先选中整个table,然后再点击插入书签按钮进行插入。)
2、实现代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page
import="com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"%>
<%
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
WordDocument doc = new WordDocument();
Table table1 = doc.openDataRegion("PO_table").openTable(1);
table1.openCellRC(1,1).setValue("PageOffice组件");
int dataRowCount = 5;//一共需要的行数
int oldRowCount = 3;//表格中原有的行数
// 扩充表格
for (int j = 0; j < dataRowCount - oldRowCount; j++)
{
table1.insertRowAfter(table1.openCellRC(2, 5)); //在第2行的最后一个单元格下插入新行
}
//合并单元格
table1.openCellRC(1,1).mergeTo(5,1);table1.openCellRC(1,1).setValue("合并后的单元格");
// 填充数据
int i = 1;
while (i <= dataRowCount)
{
table1.openCellRC(i, 2).setValue("AA" + String.valueOf(i));
table1.openCellRC(i, 3).setValue("BB" + String.valueOf(i));
table1.openCellRC(i, 4).setValue("CC" + String.valueOf(i));
table1.openCellRC(i, 5).setValue("DD" + String.valueOf(i));
i++;
}
poCtrl.setWriter(doc);
poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
poCtrl.webOpen("doc/test_table.doc", OpenModeType.docNormalEdit,
"张佚名");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<div style="width: auto; height: 600px;">
<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
</div>
</body>
</html>
3、实现效果
大家可以去pageoffice官网下载示例代码。集成文件里面有需要的 jar 。也可以部署一下Samples 示例看看具体的效果,以及详细的代码。
刚开始接触pageoffice的话,也可以看视频快速上手http://www.zhuozhengsoft.com/Technical/
来源:oschina
链接:https://my.oschina.net/u/3507515/blog/3146208