java office 类库_几种解析Word文档的Java类库比较

这两天因为工作的原因,需要根据模板生成word文档,因为需求有些特殊,为了选择最好的解决方案,所以尝试了很多种类库,今天分享一下。

推荐指数:⭐

因为之前做过EXCEL的解析,所以我首选就是POI,然而经过调查之后发现POI解析Word文档就是个坑,非常难用不说,有些功能还不支持。试验一番之后不得不放弃了。

推荐指数:⭐⭐⭐

发现POI不好用之后同事推荐给我了一种基于POI的模板类库,可以根据模板自动生成文档。语法简单,而且模板可以定制。因为这次的需求比较特殊,所以有些地方不太满足项目的需要。如果你的项目是那种从头搭建的项目的话,建议使用这个类库。

推荐指数:⭐⭐⭐

FreeMarker是一种Html模板引擎工具,因为word文档也是一种固定格式的XML文档,所以可以使用FreeMarker来设定模板,并根据模板生成。缺点是所有doc模板都必须修改为符合标准的ftl模板文档,工程量较大。

推荐指数:⭐⭐

JACOB是一个Java-COM的中间件,通过这个组件你可以在Java应用程序中调用COM组件和Win32程序库。然而缺点也比较明显,就是只能在Windows环境下使用,如果是那种需要部署到Linux环境的项目就不适用了。我没有写测试小程序,不知道具体使用起来会是怎么样。

推荐指数:⭐⭐⭐⭐

这个是国内一个提供根据模板生成文档的免费云服务网站。因为项目有一些涉密的文档,所以不能使用这种公开的云服务。联系了服务方之后发现他们有一个企业版的可以部署在本地。这个服务调用方便,类库简单,非常适合小型项目。大型项目也可以考虑购买付费服务。

推荐指数:⭐⭐⭐⭐⭐

受云服务的启发,我想到未必非要在Java中解决问题,于是想到之前写过一个Node.js的项目,其中涉及到office文档的生成,可以利用Node.js开发一个Restful的接口,将所有模板放在这个项目里,调用接口实现模板生成。Docxtemplater相对来讲是一个很好的Node.js office中间件。

推荐指数:⭐⭐

这个工具是我在寻找解决方案的过程中找到的一个五年前的类库了,作者似乎还在回答问题,但也有一年没有活动了。这个项目目测是非常老的项目了,连现成的jar包也没有。不是很推荐,但是如果前面几个都不符合你的需要的话,不要放弃。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值