前言:

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

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

先看效果:

原始模板文件

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

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

部署步骤(只需5步)

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

去刚才下载的集成文件中找到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"%>
<%@pageimport="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文件夹里面的代码.

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

如有侵权,请联系博主

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

  1. java POI对word中的表格动态插入固定数据,以及插入不确定数量的的数据

    java POI对word中的表格动态插入固定数据,以及插入不具体的数据 遇到个项目本来是用Execl导出的,相对简单,客户要求用Word导出,并按照他们给的模板进行导出: 从网上百度了一下,然后自己 ...

  2. java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...

    Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...

  3. word录入表单数据 java 导入系统,java导入excel | 怎么把excel中的数据批量导入到word中的表格中...

    用javascript怎么实现把excel中的数据批量导入到数据库表中 这个js不能直接实现吧 我们程序用到 先读取excel内容转换成数组 然后放到页面上 再提交表单 储存 MySql如何批量添加数 ...

  4. 如何使用Java在Word中插入表格

    序言 各位好啊,我是会编程的蜗牛,作为java开发者,有时候需要操作word或者excel.这里面比较常用的框架是POI,我之前用过POI来读写excel,也有用过alibaba easy excel ...

  5. java word模板占位符_word模板导出的几种方式:第一种:占位符替换模板导出(只适用于word中含有表格形式的)...

    1.占位符替换模板导出(只适用于word中含有表格形式的): /// /// 使用替换模板进行到处word文件 /// public class WordUtility { private objec ...

  6. Java实现根据Word模板填充表格数据(poi方式),以及doc和docx转PDF,最全最详细版本,解决外部引用jar在linux上报ClassNotFound的问题。

    Java实现根据Word模板填充表格数据(poi方式),以及doc和docx转PDF,最全最详细版本,解决外部引用jar在linux上报ClassNotFound的问题. 适用场景: 1.固定格式的W ...

  7. 使用spire.office在Word中生成表格

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用spire.office在Word中生成表格 前言 一.动态生成表格 二.使用步骤 1.引入库 2.实例 总结 前言 遇到一个需要 ...

  8. 如何把 Word 中的表格快速插入 LaTeX?

    是指这种没有实线分隔开的表格(如图) 孟晨,在 LaTeX 话题下写错 LaTeX 名字的,一律- 11 人赞同 谢邀. 贴到 Excel 里,然后用 excel2latex 这个小工具. 发布于 2 ...

  9. python提取word中的表格写入excel

    1.将word中的表格提取提取到json中 # -*- coding: UTF-8 -*- import json import docx file_pp=r"C:\Users\docx\2 ...

最新文章

  1. 三种字符编码:ASCII、Unicode和UTF-8
  2. 【重读iOS】网络请求2:应用
  3. 电脑f2还原系统步骤_使用冰点还原电脑每次重启都会还原,打造一个百毒不侵的系统...
  4. WPF 用Popup做下拉菜单
  5. jsx中的注释的写法
  6. 内存泄露和溢出的区别_Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子?...
  7. remapkey不能打开注册表_卸载 AutoCAD 清理注册表
  8. NumPy学习挑战第一关-NumPy的下载与安装
  9. C语言编写函数求字符串长度的几种实现方法
  10. LTE-PCC SCC
  11. Unity功能点---动画控制CrossFade方法的使用和简单说明
  12. 长文预警-超详细的熊猫烧香病毒分析_01
  13. HDU 4622 Reincarnation (后缀数组|后缀自动机)
  14. 春运大幕开启 福建铁路预计发送旅客1575万人次
  15. CDR插件开发之Addon插件005 - Corel.Interop.VGCore.dll库文件简介
  16. Git 和 GitHub 快速入门
  17. 青鸟锦江学员车宏鑫正面回答面试官的十大面试问题
  18. 知云文献翻译 mac文献翻译软件
  19. Java-Object转JSONObject
  20. 如何查看linux内核版本

热门文章

  1. 天线基础知识(二)天线角度
  2. 在《我的世界》里从零打造一台计算机有多难?复旦本科生大神花费了一年心血......
  3. nginx发布html网站,nginx发布静态网页(示例代码)
  4. python练习5:输入三个整数 x,y,z,请把这三个数由小到大输出。
  5. 上海电力大学计算机有调剂名额嘛,2019年上海电力大学考研调剂信息
  6. 中国人民大学杨东:涉金融服务数据分析行业的价值与善治
  7. 高通安卓平台BOARD-ID和MSM-ID
  8. matlab将曲线划分为三段线段,基于Matlab的高精度光伏模拟器的设计_杨文燮
  9. HTML5期末大作业:化妆品电商网站设计——化妆品电商网站(4页) HTML+CSS+JavaScript 使用html+css实现一个静态页面(含源码)
  10. 一步实现VOS与VOS平台之间的动态注册