文档章节

JAVA编程导入Word文件到数据区域,实现多个word文件合并

y
 yert
发布于 2013/04/24 14:08
字数 552
阅读 372
收藏 4
 

在开发项目时,如何通过后台编程把多个Word文档合并到一起呢,这就需要借助PageOffice开发平台中的数据区域了。

具体实现步骤如下:

第一步:拷贝文件到WEB项目的“WEB-INF/lib”目录下。拷贝PageOffice示例中下的“WEB-INF/lib”路径中的pageoffice.cabpageoffice.jar到新建项目的“WEB-INF/lib”目录下。

第二步:修改WEB项目的配置文件。将如下代码添加到配置文件中:

<!-- PageOffice Begin -->

<servlet>

<servlet-name>poserver</servlet-name><servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/poserver.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

    <servlet-name>poserver</servlet-name>

    <url-pattern>/pageoffice.cab</url-pattern>

</servlet-mapping>

<servlet-mapping>

    <servlet-name>poserver</servlet-name>

    <url-pattern>/popdf.cab</url-pattern>

</servlet-mapping>

<servlet-mapping>

    <servlet-name>poserver</servlet-name>

    <url-pattern>/sealsetup.exe</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>adminseal</servlet-name>

<servlet-class>com.zhuozhengsoft.pageoffice.poserver.AdminSeal

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/adminseal.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/loginseal.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/sealimage.do</url-pattern>

</servlet-mapping>

<mime-mapping>

    <extension>mht</extension>

    <mime-type>message/rfc822</mime-type>

</mime-mapping>

<context-param>

    <param-name>adminseal-password</param-name>

    <param-value>123456</param-value>

</context-param>

<!-- PageOffice End -->

第三步:添加引用。在WEB项目的WebRoot目录下添加动态页面Word.jsp。在该页面后台代码中

添加自定义标签库:“<%@ taglib uri="http://java.pageoffice.cn" prefix="po"%>

引入PageOffice类库:“<%@page import=” com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*”%>”。

HTML<body>中添加PageOffice引用

<po:PageOfficeCtrl  id="PageOfficeCtrl1"></po:PageOfficeCtrl>,并设置控件所在层(<div></div>)的高和宽。

第四步:Word.jsp后台编写代码。打开Word文件,部分代码如下:

//*******************卓正PageOffice组件的使用***********************

    WordDocument worddoc = new WordDocument();

    //先在Word文档中要插入Word文件的位置手动插入书签,书签必须以“PO_”为前缀

    //定义数据区域对象,“PO_p1”为打开的Word文件中书签的名称

    DataRegion data1 = worddoc.openDataRegion("PO_p1");

    data1.setValue("[word]doc/1.doc[/word]");

... ...

... ...

    poCtrl1.setWriter(worddoc);

    //打开文件

    poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");

    poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须

    说明:数据区域中还可以插入Excel文件(形式为:”[excel]excel文件路经[/excel]”)、图片(形式为:“[image]图片路径[/image]”)、文字等。

另外。通过给数据区域还可以从无到有的生成一个图文并茂的Word文件,或者是从数据库中动态读取数据生成一张试卷等等。总之,数据区域的使用范围十分广泛,可实现多种功能。

本文转载自:

共有 人打赏支持
y
粉丝 1
博文 14
码字总数 942
作品 0
朝阳
私信 提问
使用卓正PageOffice--实现多个Word文件合并

实际的项目需求中同样也会遇到合并word文件的情况,在此分两种情况分别介绍一下使用PageOffice解决此需求的实现方法。 1.把多个word文档分别插入到模板中指定数据区域生成一个Word文档。 首先...

山里的红杏
09/11
0
0
使用卓正PageOffice--动态创建数据区域

WordDocument对象的CreateDataRegion方法是为了实现用程序动态的在Word文档中添加一个数据区域而设计的,使用此方法可以在生成Word文档的时候更灵活,支持更多复杂格式的文件生成。 CreateDa...

山里的红杏
09/11
0
0
没有安装Microsoft Words的情况下读写Word文档的控件Aspose.Words​

Aspose.Words控件是一个类库,使您可以执行大部分文件处理的工作。 Aspose.Words支持DOC,OOXML,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式。采用Aspose.Words您可以生成,修改,转...

netkongjian
2014/06/21
0
0
word常用接口对象--DataRegion类

DataRegion 类,代表一个数据区域,用来填充数据区域及控制数据区域格式。您只能通过调用 OpenDataRegion(String) 方法或 CreateDataRegion(String, DataRegionInsertType, String) 方法获得...

山里的红杏
09/10
0
0
PageOffice,word常用接口对象--Table类

在做项目的过程中,经常会遇到要把报表导出到Word文件中再打印的情况,而既然是做报表那就免不了要用到表格,即需要在Word文件中插入table。因此,PageOffice开发平台中就添加了此功能。 Ta...

山里的红杏
09/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
35分钟前
1
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
51分钟前
2
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部