Java中是否有OLE自动化?

是否有可能在Java中使用OLE自动化? 如果没有,为什么在Java中不可能?

我正在寻求以不同格式(即.csv等)自动导出excel电子表格。

感谢您提前回答:)

你可以使用JACOB 。 但会有一些痛苦,因为它没有很好的logging,performance也不是最好的。 根据您定位的Windows版本,也可能很难使其正确运行。 如果您正在构build可伸缩的Web应用程序,我绝对不会使用它。 另一种select是Apache POI ,它早期的发展已经有很长的路要走,并且已经被用于诸如JBoss Drools等大量生产工具。 如果你决定去JACOB那么我build议你阅读这个线程:

是否有一个很好的参考使用OLE自动化(从Java)?

最近(2013年3月),一位独立贡献者向JNA增加了对通用COM自动化的支持,这是Java本地平台API集成的最后一个人。 JNA仍然非常积极的维护,不像Jawin / JACOB /等。

在这里看到一个如何使用它的例子。 到目前为止,预编译的Office API绑定是非常简单的,但是查看代码 ,使用COM自动化API(IDispatch,Variant等)来执行后续绑定几乎任何COM接口似乎都非常容易。

但是,我希望看到更完整的Office COM API绑定,因为它们是迄今为止世界上最常用的COM API。 也许还可能有一个“MSExcel2007.java”,“MSExcel2010.java”等,以涵盖不同的API版本。 所以这个工作还在进行中,但是JNA现在对于JACOB / Jawin来说,通常对于COM自动化来说是有用的,而且它的维护非常活跃(截至2013年4月)。

有一个名为JACOB的图书馆,可以准确地find你想要的东西。 你是什​​么意思“来自Java API?” 你的意思是来自官方的J2SE软件包? 我不知道如何回答这个问题,除了说J2SE没有包含太阳下所有可能需要的库,尤其是那些只能在单一操作系统上工作的库。 这就是存在第三方软件包的原因。

商业,但他们似乎有一个免费的开放源代码和学术许可证…

JExcel

JExcel开发者文档

我没有从属关系。