Java操作操作Word文件,最近花了几天时间解决使用Word模板导出数据的问题,收集到一些资料分享下。

常见的技术如下:

1、POI(兼容doc、docx文件)

官方网站:http://poi.apache.org/

网上例子很多,由于发布时间较早,很多外国网站的例子,建议Google搜索

书签替换:http://apache-poi.1045710.n5.nabble.com/Replacing-the-value-of-the-bookmarks-td5710052.html

docx文件插入图片bug修复:https://issues.apache.org/bugzilla/show_bug.cgi?id=49765

doc文件插入图片问题:http://www.coderanch.com/t/466488/open-source/Inserting-table-image-doc-file

评论:讨论未果~

docx模板文字用图片替换示例:http://huangqiqing123.iteye.com/blog/1927761

评论:示例代码不是特别完整,简单修改下还勉强可以使用

……

2、Jacob

下载地址:http://sourceforge.net/projects/jacob-project/

原理讲解:http://www.ibm.com/developerworks/cn/java/j-lo-jacob/

由于仅支持Windows平台,并且调用COM组件的方式有性能问题的嫌疑,没有深入研究~

3、docx4j

下载地址:http://www.docx4java.org/trac/docx4j

示例:http://zhuerg.blog.163.com/blog/static/1404016362014223102843969/

从名字就可以看出只支持docx文件

4、Java2Word

基于Jacob,……

5、PageOffice

官方网站:http://www.zhuozhengsoft.com/

看起来很好很强大~

6、Apose

官方网站:http://www.aspose.com/java/word-component.aspx

听说也商业收费,绕道~

另外,一些常见问题的参考资料:

Word设置单元格内容自动缩放字体

http://blog.sina.cn/dpool/blog/s/blog_4bb01ea70100az32.html

Java读写Word文件常用技术的更多相关文章

  1. java 读写word java 动态写入 模板文件

    import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import ja ...

  2. java导出word文件

    java导出word文件 test5.ftl文件生存方法, 第一步:用word新建test5.doc,填写完整模板,将需导出数据用${}代替 第二步:将test5.doc另存为test5.xml 第三 ...

  3. C++读写EXCEL文件OLE,java读写excel文件POI 对比

    C++读写EXCEL文件方式比较 有些朋友问代码的问题,将OLE读写的代码分享在这个地方,大家请自己看.http://www.cnblogs.com/destim/p/5476915.html C++ ...

  4. Java读写资源文件类Properties

    Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置.  注 ...

  5. Java读写txt文件

    1.Java读取txt文件 1.1.使用FileInputStream: public static String readFile(File file, String charset){ //设置默 ...

  6. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  7. java项目word文件转html文件

    最近在项目开发中用户提出要在电脑上没有装office时在浏览器中打开word文件,最后确定的逻辑:用户选择想要查看的文件,页面js判断文件是否为word.不是执行下载,是后端根据word文件后缀访问对 ...

  8. java读写excel文件( POI解析Excel)

    package com.zhx.base.utils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi ...

  9. Java读写.properties文件实例,解决中文乱码问题

    package com.lxk.propertyFileTest; import java.io.*; import java.util.Properties; /** * 读写properties文 ...

随机推荐

  1. 通过代码...CGRectmake 创建的控件如何自适应屏幕。

    [[UIScreen mainScreen] bounds].size.width [[UIScreen mainScreen] bounds].size.height 得到屏幕的宽高,然后将变量写入 ...

  2. django cbv

    django 提供了一系列现成的类视图,他们都继承自一个 View 基类(django.views.generic.base.View).在这个基类里实现了与 URLs 的接口(as_view).请求 ...

  3. imagemagick /tmp/magick-xxxxxxxx

    问题 imagemagick在某种场景下会狂写/tmp目录,文件名形如magick-xxxxxxxx, ls -lh查看这些文件达到几百G, du -sh查看则只有几十M 被这个问题折磨了许久,大晚上 ...

  4. android面试题之二

    六.android 中的动画有哪几种,它们的特点和区别是什么 ? 逐帧动画和补间动画. 逐帧动画:是传统的动画播放方式,指定每一帧的内容和停留时间,然后顺序地播放排列好的图片,类似电影. 补间动画:给 ...

  5. 数学之路(3)-机器学习(3)-机器学习算法-SVM[9]

    我们应用SVM的非线性分类功能对手写数字进行识别,我们在这应用poly做为非线性核 svm = mlpy.LibSvm(svm_type='c_svc', kernel_type='poly',gam ...

  6. CKEditor和CKFinder整合实现上传下载功能

    CKEditor与CKFinder整合并实现文件上传功能 事先说明:此整合的是java版本号的, 用到的有:jsp + ckeditor + ckfinder (没有servlet 及其他框架技术) ...

  7. Android GPS应用:临近警告

    前面介绍过LocationManager有一个addProximityAlert(double latitude,double longitude,float radius,long expirati ...

  8. C++ 自定义结构体和类 内存对齐

    为什么要提出内存对齐? 比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double类型的数据都从8倍数地址开始,那么读或写一个doubl ...

  9. 小猪猪逆袭成博士之C++基础篇(三)字符串

    小猪猪逆袭成博士之C++基础篇(三)字符串 String 写在题外的话: 非常感谢在我发了第一篇随笔以后有很多人看还评论了,这大概就是一种笔记性质的,也不一定全对,如果不对的地方请指出来让我加以改正. ...

  10. [Swust OJ 85]--单向公路(BFS)

    题目链接:http://acm.swust.edu.cn/problem/0085/ Time limit(ms): 5000 Memory limit(kb): 65535   Descriptio ...