Программно конвертировать сложный файл Excel в формат HTML - PullRequest
1 голос
/ 21 мая 2010

У меня есть набор сложных файлов Excel (с цифрами в нем), которые я хочу показать в веб-браузере. Поэтому мне нужно сначала преобразовать их в HTML-страницу. Так как файлы Excel очень сложны, я не могу просто проанализировать их и сгенерировать таблицу HTML с тегами HTML. Текущее ручное решение, которое отлично работает, - это когда я использую программное обеспечение Microsoft Excel для сохранения электронной таблицы в виде HTML-страницы. Я хочу каким-то образом автоматизировать эту задачу, поскольку я хочу делать это программно через Java. Это какое-то существующее решение или способ сделать это? Спасибо.

РЕДАКТИРОВАТЬ - я смог создать для него макрос, но не смог понять, как я могу выполнить макрос в файле Excel из программы Java. Кто-нибудь знает?

Ответы [ 5 ]

1 голос
/ 21 мая 2010

Вы можете посмотреть в POI:

http://poi.apache.org/

1 голос
/ 21 мая 2010

Я думаю, что вам лучше всего позвонить в Excel из Java, используя JACOB

Создание прямых COM-вызовов (что вы будете делать из JACOB) - это немного сложно, новы поймете это.Я не могу себе представить, что макрос Excel VBA ужасно сложен.Посмотрите пример кода (Использование и документация) в ссылке JACOB, чтобы увидеть, как это будет выглядеть.

Еще одна вещь: не забудьте явно очистить ссылки.JACOB освободит дескрипторы COM, когда объекты будут собирать мусор, но если вы выполняете какую-либо высокопроизводительную работу, вам захочется как можно быстрее закрыть эти соединения.Как правило, мы пишем весь наш COM-код в виде серии операторов try / finally - код неопрятный, но надежный.

1 голос
/ 21 мая 2010

Если открытый офис хорошо справляется с экспортом, вы можете взглянуть на источник, чтобы узнать, как он это делает. Я считаю, что OO - это комбинация Java и C ++, поэтому вам может повезти и вы найдете решение для Java.

В противном случае, я бы попытался использовать сам Excel для экспорта и найти способ вызвать его программно. Если вы пойдете по этому пути, вам будет лучше использовать стек Microsoft (C # будет наиболее похож на Java), так как я ожидаю, что он будет иметь все функции, которые вам уже определены.

0 голосов
/ 31 мая 2010

В итоге я использовал Scribd API. Я загрузил документ на их сервер через их API в режиме реального времени и вставил iframe со ссылкой, возвращаемой Scribd.

0 голосов
/ 23 мая 2010

Попробуйте использовать гипернамер . (Отказ от ответственности, я генеральный директор)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...