java 使用 pageoffice 对Word文档中Table动态添加行,合并单元格并赋值

为君一笑 提交于 2019-12-23 15:16:45

【推荐】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/

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!