欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java在线合并word中的表格,并对其进行赋值

程序员文章站 2022-04-29 22:34:53
...

前言:

在OA系统中,有时我们需要在线打开文档,文档中免不了有word表格,并且我们希望能够通过代码对表格单元格进行一些合并/赋值的的操作。这就需要我们学习微软activex控件的使用了。但是这需要开发者具备将activex控件集成到Java环境的能力。对于大部分Java开发工程师来说,仅仅解决单一的功能就要掌握activex控件,未免学习成本太大。

所以我们今天就要介绍一个中间件技术——pageoffice,此中间件技术已经将web系统中操作office文档的大部分功能整合完毕,大家只需要关注自己web系统的业务逻辑即可,学习成本低,且功能很丰富。下面我们来实战用pageoffice实现一下Java在线打开word文档实现对表格单元格的合并以及赋值的功能。

先看效果:

原始模板文件

Java在线合并word中的表格,并对其进行赋值

代码执行后在线打开的效果:

Java在线合并word中的表格,并对其进行赋值

可以看到,表格的第一行的四列被合并,并且进行了赋值和改变字体样式的操作。

 部署步骤(只需5步)

1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xml

Java在线合并word中的表格,并对其进行赋值

去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的wb.xml中

2.在父页面aaa.jsp(需要打开文档的页面)放一个a标签或者button

写a标签之前先引入pageoffice需要的js文件

<script type="text/javascript" src="/jquery.min.js"></script>
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>

然后添加a标签 

<a href="javascript:POBrowser.openWindowModeless('Default.jsp' , 'width=1200px;height=800px;');">使用程序合并Word文件中表格的单元格并赋值</a>

3.在父页面aaa.jsp同级目录下创建一个名为Default.jsp的文件

<%@ page language="java" import="java.util.*,java.awt.*"
	pageEncoding="utf-8"%>
<%@page
	import="com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"%>

<%
	WordDocument doc = new WordDocument();
	DataRegion dataReg = doc.openDataRegion("PO_table");
	Table table = dataReg.openTable(1);
	//合并table中的单元格
	table.openCellRC(1, 1).mergeTo(1, 4);
	//给合并后的单元格赋值
	table.openCellRC(1, 1).setValue("销售情况表");
	//设置单元格文本样式
	table.openCellRC(1, 1).getFont().setColor(Color.red);
	table.openCellRC(1, 1).getFont().setSize(24);
	table.openCellRC(1, 1).getFont().setName("楷体");
	table.openCellRC(1, 1).getParagraphFormat().setAlignment(
			WdParagraphAlignment.wdAlignParagraphCenter);

	PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
	poCtrl.setWriter(doc);

	//设置服务器页面
	poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");//此行必须
	poCtrl.setCustomToolbar(false);
	//设置文档打开方式
	poCtrl.webOpen("test.doc", OpenModeType.docNormalEdit, "张三");

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
		<title></title>
		<link href="images/csstg.css" rel="stylesheet" type="text/css" />

	</head>
	<body>

		
		<div id="content">
			<div id="textcontent" style="width: 1000px; height: 800px;">

				<!--**************   卓正 PageOffice组件 ************************-->
				<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
			</div>
		</div>

	</body>
</html>

4.新建文件

新建一个名为test.doc的word文件(如果新建的是docx文件就将第三步的poCtrl.webOpen("test.doc", OpenModeType.docNormalEdit, "张三");代码改为poCtrl.webOpen("test.docx", OpenModeType.docNormalEdit, "张三");

本地打开test.doc文件,新建一个5行4列的表格,然后进行保存。

将新建的test.doc文件放在项目Default.jsp同级目录下。

然后启动项目直接访问aaa.jsp点击链接.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写***Q37LN-W8NI-KFSQ-LEY3Y就可以打开文档.

注意:如果需要更丰富的功能,可以去pageoffice官网下载示例代码直接将samples4文件夹拷贝到Tomcat的webapps下,启动Tomcat,浏览器访问http://localhost:8080/Samples4/index.html,查看示例中的下面一个链接,直接看samples4文件夹下MergeWordCell文件夹里面的代码.

Java在线合并word中的表格,并对其进行赋值

 

刚开始接触pageoffice的话,也可以看视频快速上手http://www.zhuozhengsoft.com/Technical/

Java在线合并word中的表格,并对其进行赋值

如有侵权,请联系博主