本人最近做的一个项目,需要把数据里里的数据读出来,经过加工,以word格式输出。 这几天一直都在找,没有找到好的解决方案!偶尔发现了java2word,咱们国人开发的一个包,今天使用一下,非常简单!比网上介绍的poi,jacob等解决方按容易上手多了!最然功能不是很多,但应该满足一般的需求。遗憾的是不支持07格式,如果你需要读写07格式,可以用一下openxml4j这个包,在这里不做多介绍哦
。
下面是java2word的介绍:
java2word 是一个在java程序中调用 MS Office Word 文档的组件(类库)。该组件提供了一组简单的接口,以便java程序调用他的服务操作Word 文档。 这些服务包括: 打开文档、新建文档、 查找文字、替换文字, 插入文字、插入图片、插入表格, 在书签处插入文字、插入图片、插入表格等。 填充数据到表格中 读取表格数据 1.1版增强的功能: 指定文本样式,指定表格样式。如此,则可动态排版word文档。 填充表格数据时,可指定从哪行哪列开始填充。配合输入数据的大小,你可以修改表中的任意部分,甚至只修改一个单元格的内容。 合并单元格。 更多激动人心的功能见详细说明: http://www.heavenlake.com/java2word/doc 下载地址: http://dev.heavenlake.com:81/developer/viewthread?thread=24
好了包弄完以后,我们看第一个程序:
import
com.heavenlake.wordapi.Document;
public
class
test {
public
test() { Document doc
=
null
;
try
{ doc
=
new
Document(); doc.open(
"
e:/test.doc
"
);
//
打开文件
doc.insert(
"
第一章:宪政概论
"
,
"
biaoti1
"
);
//
插入文字
doc.insertAtBookmark(
"
testbookm
"
,
"
第一章:宪政概论
"
,
"
标题1
"
); doc.insertAtBookmark(
"
testbookm
"
,
new
java.io.File(
"
E:/照片/长白山/DSC00663.JPG
"
));
//
插入图片
}
catch
(Exception e) { e.printStackTrace(); }
finally
{
try
{
if
(doc
!=
null
) doc.close(
true
); }
catch
(Exception e) { e.printStackTrace(); } } }
public
static
void
main(String[] args) { test test1
=
new
test(); } }
怎么样,代码很简单。短短几句就完成插入文字,图片,标题的功能!不过做项目化,最好先定义一个word模板,这样有利于排版。而且其也可以调用模板的样式。当然其功能还远不入这些,大家可以看一下它的api文档。值得注意一点的是,输出的word不支持07格式。非常简单,因为有汉语注释啊,呵呵!