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. Objective-C 链式编程思想

    链式编程思想 链式编程是什么 链式编程就是将调用多个方法用点语法连接起来,让代码更加简洁和可读性更高刚开始接触链式编程是Masonry,用起来真的非常爽 1 make.left.right.top.e ...

  2. Python开源异步并发框架

    Python开源异步并发框架的未来 2014年3月30日,由全球最大的中文IT社区CSDN主办的“开源技术大会·” (Open Source Technology Conference ,简称OSTC ...

  3. Spring基于 Annotation 的简单介绍

    tyle="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial"> 1.使用 @ ...

  4. SICP 习题 (2.7) 解题总结 : 定义区间数据结构

    SICP 习题 2.7 開始属于扩展练习,能够考虑不做,对后面的学习没什么影响.只是,假设上面的使用过程表示序对,还有丘奇计数你都能够理解的话,完毕这些扩展练习事实上没什么问题. 习题2.7是要求我们 ...

  5. ZSTU OJ 3999 零基础学算法---邻接表

    题目:Click here 题意:我就喜欢中文题! 分析:这个题虽然是中文题,但是还是有一点费解的.其实就是给你一棵树,是用图的形式给你的,只知道a,b之间有一条边,并不知道谁是父,谁是子.思路就是先 ...

  6. 字符设备驱动: register_chrdev和register_chrdev_region

    概述: register_chrdev与unregister_chrdev配对使用: /*register_chrdev = __register_chrdev_region (一次性256个子设备, ...

  7. c++,给常成员变量赋值

    C++中,常成员变量只能在构造函数赋值,且只能通过参数列表的形式赋值,且必须在构造函数赋值. (拥有常成员变量的类的构造函数必须对所有成员变量赋值.) #include <iostream> ...

  8. c++构造函数析构函数调用顺序

    #include <iostream> using namespace std; class A { public: A () { cout<<"A 构造 " ...

  9. A*算法(八数码问题)

    #include <iostream> #include <cstring> #include <vector> #include <cmath> #i ...

  10. docker学习笔记14:Dockerfile 指令 ENV介绍

    ENV指令用来在镜像构建过程中设置环境变量.我们来看一个Dockerfile的例子: #test FROM ubuntu MAINTAINER hello ENV MYDIR /mydir RUN m ...