Java生成Word
缘梦王子
热爱产品、技术,关注前沿技术,专注于JAVA、设计模式、项目管理、OOA/OOD/OOP、架构设计、产品设计。
展开
-
Java根据word模板生成word文档之后台解析和实现及部分代码(二)
上一节贴出了web应用访问生成报告的action和service层的关键2个方法。并提到了调用了httpclient方法去执行报告服务器上的方法,从而返回数据流。下面主要是看报告服务器上的方法是怎么样的? 首先还是要说明一下,我们的web服务器都是linux环境,而之所以要用到httpclient和单独的报告服务器就是解决jacob不支持linux服务器的问题,所以将生成word原创 2012-04-18 13:37:16 · 1529 阅读 · 0 评论 -
Java根据word模板生成word文档之设计详细思路---word标签定义
word替换原理:通过顺序查找word模板中的特殊字符标记,找到一个或多个就替换出响应的值,而表格的替换或者说生成是根据word中表格定义的序列来定位查找的,比如第一个表格的序列就是0,以此类推1,2,3...,所以我们知道了响应的替换查找原理之后,就可以开始下面的标签定义了。通过前面的XML标签对应,那么word标签也必须和xml相对应。word模板定义主要包含以下几个内容:一是:单原创 2012-04-18 11:34:17 · 2000 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(三)F
下面贴出对jacob进行简单封装类,暂时认为应该是网络上最全面的了,包括word打开,关闭,插入表格,替换表格,插入一个标签,插入目录等等,自己去找吧,或者自己去封装一下。下面我贴出全部代码:/** * /************************************* * *作用:利用JACOB插件根据word模板生成报告文件! * *说明:传入数据为HashMa原创 2012-04-18 14:13:51 · 1442 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(一)
后台主要工作是解析XML定义的标签文件,并获取到数据集,放入到Map中,然后调用Jacob.jar中提供的相关方法来实现替换。首先想多说一句就是jacob会每次生成word报告时都会启动一个office word进程,替换完毕之后 需要关闭掉这个进程,如果有死掉的word进程有可能会影响word的生成。这些具体调试或运行过程中就会发现这个问题的。 还需要说明一点,解析XML有很多原创 2012-04-18 13:13:28 · 2231 阅读 · 0 评论 -
Java根据word模板生成word文档之前言
由于java之诞生起,就是在linux下得到很好的发展,而微软的东西基本上始终只能在他的平台上运行,在实际的需求之中,对office办公软件的使用那是大大的,基本上每个企业都在使用,但是作为web项目中,难免有客户提出这样那样的需求,比如说:”系统自动生成word文档“ 这个需求也许会难倒不少人,因为在咱们Java的世界中,没有直接对office操作的组件或者说底层接口。 先说具体的需求:原创 2012-04-17 15:40:48 · 1931 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(三)G
同时最后我贴出部分我jsp页面,方法大家参考: ${projectName}-报告列表 //重新生成function createFile(docType,workgroupId,projectId,evtcaseInstId){ if(confirm("是否确认重新生成")) { window.location.href ="info-doc!c原创 2012-04-18 14:17:58 · 1012 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(三)B
紧接上节,继续贴相关的代码:/** * 通过配置将要展示的类型 来输出不同的格式 * @param sqlStr * @param docType * @param paramMap * @param dataSetRepCnName * @param fieldList * @param conn * @pa原创 2012-04-18 13:57:44 · 1094 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(三)C
下面贴出在上面两节中涉及到的实体对象:public class DataGroupBean { private String dataGroupName; private List dataSetsList = new ArrayList(); private List dataTranstorList = new ArrayList(); public DataGroupBe原创 2012-04-18 14:00:35 · 841 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(三)D
现在贴出我封装了的jfreechar工具类,可以根据自己的要求去扩展和封装,大概封装了一下:import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.GradientPaint;import java.awt.RenderingHints;import java.i原创 2012-04-18 14:03:32 · 1220 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(三)E
下面贴出生成图片的方法类,实际上是通过传入解析过的xml数据到这个工具类进行处理,并调用生成jfreechar的工具类生成。import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.util.List;import org.jfree.data.category原创 2012-04-18 14:05:48 · 1055 阅读 · 0 评论 -
Java根据word模板生成word文档之后台解析和实现及部分代码(三)A
下面我们主要写一下 解析XML文件的工具类,这个里面很多方法。我基本都贴出来,我也说过,解析XML有很多方法,我采用了最原始的。所以很累,你们自己去实现吧。在这个类里面有几个关键点要说:1.解析XML文档,就最开始定义的那个,最终返回是Map数据集2.在次之间,可能需要涉及到生成统计图像等,都是在解析过程中完成的3.在方法Map数据集中,如果是word中的表格,Key就是表格在wo原创 2012-04-18 13:54:30 · 1264 阅读 · 0 评论 -
Java根据word模板生成word文档之设计详细思路---XML标签定义
在这节中,主要说明,如何设计的?整个word生成过程是如何运转的? 我在本项目中采用这个技术架构确定之后,开始考虑采用properties文件来定义相关的标签什么的,但是最后放弃了这个决定,采用了XML文件的形式,主要的原因是:XML文件能很好的表现层次、层级关系,这样就为我在报告中定义层次结构什么的来的实在,而properties 更多使用于做(key,value)的定义,比如咱们原创 2012-04-17 17:05:36 · 2210 阅读 · 0 评论 -
Java根据word模板生成word文档之Jacob和Httpclient简介
jacob简介jacob它主要是一个java和com组件间的桥梁,所以jacob项目是java操作com接口的工具类,是采用的jni的方式,通过一个c++编写的dll文件来操作office文档。Jacob使用在使用jacob的时候,除了需要把jacob.jar包含到classpath中,还需要把jacob.dll复制到system32或者是tomcat的/bin原创 2012-04-17 15:44:16 · 1488 阅读 · 3 评论 -
Java根据word模板生成word文档之设计架构
根据实际的业务需要,做出了一个简易的部署及架构设计。主要看下面2张图。 下图展示的报告的基本生成方式:采用配置文件+word模板的方式 下图展示的是服务器的数据访问及流向情况:(未完待续)原创 2012-04-17 16:53:30 · 1605 阅读 · 3 评论 -
Java根据word模板生成word文档之总结
至此word生成就完事了,我写的有点粗,但是应该能看到的懂,代码没有经过重构,很乱,而且方法体应该还需要调整,但是不影响我们的功能实现。总之 大家在做的过程中遇到什么问题,可以QQ:254432153 联系我,不过呢太忙我就不能及时的回复您了。 通过这一整套流程,其实完全可以做成一个组件式的东西,我现在没有时间去考虑他,大家有时间好好考虑一下,完全做到可配置话的,我现在能做到单原创 2012-04-18 14:38:49 · 1063 阅读 · 0 评论