是否可以在 Java 中使用 OLE 自动化?如果不是,为什么在 Java 中不可能?
我正在寻找以不同格式(即 .csv 等...)自动导出 excel 电子表格
提前感谢您的回答:)
是否可以在 Java 中使用 OLE 自动化?如果不是,为什么在 Java 中不可能?
我正在寻找以不同格式(即 .csv 等...)自动导出 excel 电子表格
提前感谢您的回答:)
最近(2013 年 3 月),一位独立贡献者向 JNA 添加了对通用 COM 自动化的支持,这是最后一个从 Java 集成本机平台 API 的人。与 Jawin/JACOB/etc 不同,JNA 仍然非常积极地维护。
有关如何使用它的示例,请参见此处。到目前为止,与 Office API 的预绑定绑定非常简单,但查看代码,使用 COM 自动化 API(IDispatch、Variant 等)对几乎任何 COM 接口进行后期绑定似乎非常容易。
不过,我希望看到更完整的 Office COM API 绑定,因为它们是迄今为止世界上最常用的 COM API。也许还可以有一个“MSExcel2007.java”、“MSExcel2010.java”等来涵盖不同的 API 版本。因此,这是一项正在进行中的工作,但 JNA 现在对于 COM 自动化与 JACOB/Jawin 一样普遍有用,而且它的维护非常积极(截至 2013 年 4 月)。
您可以使用JACOB。但是会有一些痛苦,因为它没有很好的记录并且性能不是最好的。根据您所针对的 Windows 版本,也很难让它在您的环境中正确运行。如果您正在构建可扩展的 Web 应用程序,我绝对不会使用它。另一种选择是Apache POI,它已经从早期的根源中走了很长一段路,并被用于许多生产就绪工具,如 JBoss Drools。如果您决定使用 JACOB,那么我建议您阅读此 SO 线程:
有一个名为JACOB的库可以准确地提供您正在寻找的内容。“来自 Java API”是什么意思?你的意思是来自官方的 J2SE 包?我不知道如何回答这个问题,只是说 J2SE 不包括满足所有可能需要的库,尤其是那些只在单一操作系统上工作的库。这就是存在第三方软件包的原因。