本人最近做的一个项目,需要把数据里里的数据读出来,经过加工,以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();
}
}
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格式。