Есть ли автоматизация OLE в Java?

можно ли использовать Ole Automation в Java? Если нет, то почему это невозможно в Java?

Я ищу, чтобы автоматизировать экспорт электронных таблиц excel в другом формате (т. е.КШМ и т. д...)

Спасибо за ответы заранее :)

4 ответов


можно использовать Яков. Но будет некоторая боль, поскольку она не очень хорошо документирована, и производительность не самая лучшая. Также может быть трудно заставить его работать правильно для вас в зависимости от того, какую версию Windows вы нацеливаете. Я бы определенно не использовал его, если вы создаете масштабируемое веб-приложение. Другой вариант был бы Apache POI который действительно прошел долгий путь от своих ранних корней и используется в большом количестве продукции готовые инструменты, такие как слюни JBoss. Если вы решите пойти с Джейкобом, я рекомендую вам прочитать эту тему:

есть ли хорошая ссылка для использования Ole Automation (из Java)?


недавно (март 2013) независимый участник добавил поддержку общей автоматизации COM В JNA, которая является последним человеком, стоящим с точки зрения интеграции API собственной платформы с Java. JNA все еще очень активно поддерживается, в отличие от Jawin/JACOB/etc.

посмотреть здесь пример того, как он используется. Предварительно приготовленные привязки к API Office до сих пор очень просты, но глядя на код, кажется, очень легко использовать API автоматизации COM (IDispatch, Variant и т. д.) для поздней привязки практически к любому com-интерфейсу.

Я хотел бы видеть, однако, более полную привязку API Office COM, поскольку они, безусловно, наиболее часто используются COM API в мире. Возможно, также может быть "MSExcel2007.java", " MSExcel2010.java " и др. для покрытия различных версий API. Таким образом, это очень большая работа, но JNA теперь так же полезна для автоматизации COM, как JACOB/Jawin, с бонусом, что она чрезвычайно активна поддерживается (по состоянию на апрель 2013 года).


есть библиотека под названием Яков что позволяет именно то, что вы ищете. Что вы подразумеваете под " из API Java?- Вы имеете в виду из официальных пакетов J2SE? Я не уверен, как ответить на это, кроме как сказать, что J2SE не включает библиотеки для всех мыслимых потребностей под солнцем, особенно те, которые работают только на одной операционной системе. Вот почему существуют пакеты сторонних производителей.


коммерческие, но у них, похоже, есть бесплатная лицензия с открытым исходным кодом и Академическая лицензия...

JExcel

Документы Разработчика JExcel

У меня нет принадлежности.