业务需求如下:
1、由于我们的系统都不一定是window平台,可能是在IBM的小机上,因此需要生成的word能够跨平台;
2、客户看到的是红头文件,因此生成的word要有样式。
目前用java生成word的方法有两种:
1、jacob。Jacob 是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持,因此不能满足需求的第一点。
2、Apache Opi。POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。POI是完全的Java Excel和Java Word解决方案。POI子项目包括:POIFS、HSSF、HDF、HPSF。
子项目名 | 说明 |
POIFS(POI File System) | POIFS是POI项目中最早的最基础的一个模块,是Java到OLE 2 Compound Document Format的接口,支持读写功能,所有的其他项目都依赖与该项目。 |
HSSF(Horrible Spreadsheet Format) | HSSF是Java到Microsoft Excel 97(-2002)文件的接口,支持读写功能 |
HWPF(Horrible Word Processing Format) | HWPF是Java到Microsoft Word 97文件的接口,支持读写功能,但目前该模块还处于刚开始开发阶段,只能实现一些简单文件的操作,在后续版本中,会提供更强大的支持 |
HPSF(Horrible Property Set Format) | HPSF 是Java到OLE 2 Compound Document Format文件的属性设置的接口,属性设置通常用来设置文档的属性(标题,作者,最后修改日期等),还可以设置用户定义的属性。HPSF支持读写功能,当前发布版本中直支持读功能。 |
HSSF有强大的支持设置excel样式的功能,而HWPF目前只能实现一些简单文件的操作,不能设置样式,因此不满足需求的第二点。
将查询结果以xml文件的格式,保存在服务器上,客户端读取xml文件,并以word的格式展现。
1、 用java生成XML文件
2、 读取XML文件
3、 以WORD的格式展现