pageoffice

[原创]java导出excel

送分小仙女□ 提交于 2020-03-03 23:29:27
一、需求背景   在项目开发中,经常会遇到导出Excel报表文件的情况,因为很多情况下,我们需要打印Excel报表,虽然在网页上也可以生成报表,但是打印网上里的报表是无法处理排版问题的,所以最好的方式,还是生成Excel文件。 PageOffice封装了一组用于动态输出数据到Excel文档的相关类,全部包含在com.zhuozhengsoft.pageoffice.excelwriter 命名空间之中。PageOffice对Excel的赋值操作分两种方式:1. 单元格赋值,这个很好理解,sheet.openCell("D5"),返回值就是一个Cell对象;2. 针对一个区域赋值。这个区域在PageOffice的概念里就是Table对象,比如:sheet.openTable("C9:H15")的返回值就是就是Table对象,这个Table就是”C9:H15”这个区域。下面就针对这两种操作方式来分别介绍。 二、 给Excel单元格赋值   创建Workbook对象,操作指定sheet中的指定单元格,在打开Excel文件后通过PageOfficeCtrl对象的setWriter方法把数据写入到Excel文件中: Workbook wb = new Workbook(); Sheet sheet = wb.openSheet("销售订单"); sheet.openCell("D5")

pageoffice 实现 word 文件 数据区域(书签)响应事件

安稳与你 提交于 2020-03-02 05:20:53
一、核心代码 poCtrl.setJsFunction_OnWordDataRegionClick("OnWordDataRegionClick()"); document.getElementById("PageOfficeCtrl1").ShowHtmlModalDialog(URL,Arguments,Features ); document.getElementById("PageOfficeCtrl1").ShowHtmlModelessDialog(URL,Arguments,Features ); 二、具体实现过程 具体实现过程 1.官网 http://www.zhuozhengsoft.com/dowm/ 下载集成文件,引入jar包,配置web.xml 2.在父页面index.jsp(需要打开文档的页面)放一个a标签或者button 写a标签之前先引入pageoffice需要的js文件(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

Java在线并发控制word文档

我的梦境 提交于 2020-01-12 03:20:53
前言: 对于在线操作word文档的OA系统来说有一个常见问题,就是对于服务端放置的word文档,如果有两个人甚至更多客户端同时打开该文档时,就会存在并发问题。有了并发问题就会出现操作的文档保存内容被覆盖的问题,造成用户编辑数据丢失,这是很致命的,该如何解决呢? 首先我们可以通过系统业务逻辑来限制系统层次的并发问题。比如张三通过某链接打开了一个文档,同时向后台发送ajax请求将当前系统登录用户名,文件名,以及是否打开文档的标识存入数据库。等张三关闭文档时再发ajax去将数据库内容更新,或将之前那条数据删除。在李四点击同一个链接时,ajax去数据库查询一下此文件的打开者以及打开状态。如果标识是true,那就提醒李四文档正在被编辑,不让他打开文档。 或者有用shiro做权限验证的,可以直接让有权限的王五在页面看到打开文档的链接,不让没有权限的赵六看到页面打开文档的链接。 系统层次解决并发问题有好多方案,但是都仅限于此。想要从word文档层次解决并发问题呢?或者我想要张三打开文档的时候也让李四打开,但是李四只能只读呢?那就必须要获取word文档状态,这个状态必须是office返回的,那就必须要调用office的第三方程序接口了。对于Java开发人员来讲,office的接口需要在什么环境运行?需要调用那些接口?这些问题都会带来大量的工作量,甚至对于没接触过VBA的Java工程师来讲

java 集成pageoffice 在线打开 word 文件后再次打开一个文件

爷,独闯天下 提交于 2020-01-06 23:21:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、介绍 pagaeoffice 在线打开文件需要用 pobrowser 方法弹出窗口的方式打开Office文件 。 Chrome浏览器从42版本开始默认不启动插件,从45版本开始彻底关闭插件调用接口,网页中的任何插件(包括网银插件)都无法在Chrome浏览器中运行。FireFox浏览器在2016年年初发布消息,到2016年年底Firefox浏览器将关闭插件调用接口,所以从Firefox的52版本开始所有网页中的插件也都不能运行了。Chrome和Firefox停止对插件支持的原因主要有两点,第一是因为这两个浏览器中的插件技术都是基于NPAPI技术接口标准的,这种技术接口的缺陷是开发的插件很不稳定,所以大家在使用Chrome和Firefox的时候如果网页中使用了插件(包括Flash)就会经常出现浏览器崩溃的现象;第二点是现在HTML5技术的日益完善和推广,已经可以解决网页中播放视频的需求(网页中使用频率最高的插件就是Flash ,目的就是为了播放视频),所以从苹果公司率先放弃Flash改用HTML5开始,Chrome和Firefox也放弃了对插件的支持。PageOfficeV4.0则采用POBrowser技术完美解决了这个问题

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如何显示/隐藏Word文档中的标尺

不羁岁月 提交于 2019-12-05 02:05:02
在线打开并使用 Word 文档时,我们经常会需要使用打开的 Word 文档中,顶部的标尺来设置页面的边距、对齐位置等。这一操作,可以通过工具栏中“视图”→“标尺”选项的是否勾选来决定是否显示标尺,但如果工具栏被禁用或者忘记如何设置时,就得通过其他途径来进行设置了。下面我就以一个简单的例子来演示一下是如何通过 JS 代码实现显示 / 隐藏标尺的。 具体实现步骤如下: 第一步:拷贝文件到 WEB 项目的“ WEB-INF/lib ”目录下。拷贝 PageOffice 示例中下的“ WEB-INF/lib ”路径中的 pageoffice.cab 和 pageoffice.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

java调用PageOffice生成word

和自甴很熟 提交于 2019-12-03 03:32:57
一、在开发OA办公或与文档相关的Web系统中,难免会遇到动态生成word文档的需求,为了解决工作中遇到导出word文档的需求,前一段时间上网找了一些资料,在word导出这方面有很多工具可以使用,jacob、poi、java2word、itext。jacob要求服务器必须是windows操作系统,服务器上还必须安装office软件,果断放弃!poi需要针对doc和docx两种格式写不同的代码,增加了程序的复杂度。java2doc 是对 jacob 的封装,同样放弃!最后选定了用itext来导出word,网上一些资料说itext导出word功能太简单,通过试用之后,封装工具类,使用起来确实挺方便,但是导出的word文档在细节方面很难达到要求,比如:字体、行距、字体间距、首行缩进等。 二、由于itext导出的word有各种各样的小问题,只能另找其他的解决方案,经过一个朋友推荐,可用PageOffice组件来导出word,其效果能与用户需求的word文档达到完美的一致,而且编程接口简单,调用很方便。总的来说就是制作模板(用PO_开头的书签作为数据占位符),然后编程调用PageOffice接口用真实数据替换模板中的占位符,最后生成word。下面看例子: 1. 制作模板   打开word模板插入书签:PO_Dept、PO_Name、PO_Cause、PO_Num、PO_Date,如下图所示  

[原创]java在线打开PDF文档

匿名 (未验证) 提交于 2019-12-02 21:53:52
步骤一:(涉及到的工具)   访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java。 步骤二:(配置工程)   1. 解压PageOffice 开发包,打开“集成文件”目录,拷贝“WEB-INF\lib”目录中的pageoffice4.4.0.2.jar到自己项目的“WEB-INF\lib”目录   2. 参考“集成文件”文件夹中的 web.xml文件,配置一下自己 Web项目中的web.xml文件,也可以直接把下面的这段配置添加到自己的web.xml中; 1 <!-- PageOffice Begin --> 2 <servlet> 3 <servlet-name>poserver</servlet-name> 4 <servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server</servlet-class> 5 </servlet> 6 <servlet-mapping> 7 <servlet-name>poserver</servlet-name> 8 <url-pattern>/poserver.zz</url-pattern> 9 </servlet-mapping> 10 <servlet-mapping> 11 <servlet-name

[原创]java合并word文件

匿名 (未验证) 提交于 2019-12-02 21:53:32
  在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何动态生成一张word试卷。事先把题库中的每一道试题都已经保存成一个独立的word文件了,但是在选择了部分试题生成一张word试卷的时候,如果不能通过java程序来合并已经选择了的word试题文件,那么就只能通过手动录入和拷贝的方式来合并word内容,效率低下,而且人工成本和录入出错率都较高。   使用POI来实现word合并需要面对的困难主要有以下几个方面:   使用Jacob来实现word文档合并要面对的问题:   问题研究一段时间后,进展缓慢,山重水复疑无路,柳暗花明又一村,然后发现了PageOffice提供了此问题的解决方案,并且是在PageOffice的示例程序中就有相关的演示,只不过PageOffice的演示示例中是把word文件以二进制流的形式保存在数据库中的,只需要在自己的项目中改为用磁盘文件的方式保存word文件就可以了。   下载地址:http://www.zhuozhengsoft.com/dowm/ 访问此地址下载PageOffice for Java的开发包,拷贝解压出来的 Samples4 文 件 夹 到 Tomcat 的 Webapps 目 录 下 , 访 问 : http://localhost:8080/Samples4/index.html,查看综合演示: 三、2

C#最简单的导出提交Word中的数据

三世轮回 提交于 2019-12-02 03:29:53
普通的 MS Office Word 只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果。但是通过调用 PageOffice 开发平台,不仅可以在线打开并保存 Word 文件还可以提交 Word 中的数据。 下面我就简单的和大家分享一下如何实现 Word 文档的在线打开、编辑、保存和数据的提交。 第一步:请先安装 PageOffice 的服务器端的安装程序,之后在你的网站中根目录下添加 pageoffice 文件夹(在 PageOffice官方 网站的“下载中心”中可下载相应的压缩包,解压之后直接将 PageOffice 实例代码里的 pageoffice 文件夹拷贝到根目录下就可以了)。 第二步:在网站中创建动态页面 Word.aspx 。在工具箱中拖动一个 PageOfficeCtrl 控件到页面上( PageOfficeCtrl 控件位于工具箱最下方),并设置控件所在层( <div></div> )的高和宽。 第三步:在要打开的 Word 文件中的相应位置手动插入书签(“ PO_userName ”、“ PO_deptName ”)。注意:书签名字不要重复、相邻书签之间至少要有一个字符,不然后一个书签会把前一个书签覆盖掉;书签的名字需以“ PO_ ”为前缀。 第四步: Word.aspx.cs 页面编写代码,打开