Как стать автором
Обновить

Комментарии 20

Я уже и забыл про api OpenOffice =) Давно делал на работе библиотечку скрывающую детали реализации под MS Office и OpenOffice(да-да, на большом предприятии почти получилось отказаться от MSOffice), вроде бы до сих пор используется :)
P.S. только для формирования отчетов мы использовали шаблоны с подготовленным форматированием и оформлением. Формирование отчета по сути сводилось к копированию нужной части шаблона в отчет и заполнению ячеек данными.
Тут, впринципе, тоже можно открыть xls шаблон, а потом уже устанавливать значения. Даже лучше так делать.
На последнем скрине видно небольшой косяк отказа от шаблонов, если по организации нет данных, то для таких ячеек не проставить атрибуты (границы, фон и т.д.)
appyframework.org/ — гляньте, вам будет интересно, наверное.

BTW, как только карма++ — я смогу опубликовать давно написанное подобное how-to для python.
возмоность работы под WINE, при условий установки OpenOffice под Wine

Дядя знает толк в извращениях
Я ждал этого комментария :) странно вообще, что сервер опен офиса запускается на определенном порту. Я думал, что будет возможно запустить родной офис и уже ему отдавать команды, но этот способ, к сожалению, не сработал.
Интересный рассказ, но я бы рекомендовал использовать библиотеки по работе с документами, а не офисные программы, т.к. дороговато по ресурсам выходит — Для Microsoft Office можно использовать отсюда openxmldeveloper.org/default.aspx есть в общем под любую платформу.
А под 2003й офис есть такие библиотеки? :)
На 2003 и более ранние (2000, XP) стоит ставить пакет совместимости www.microsoft.com/downloads/en/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en который позволяет читать и писать в новом формате и соответственно не иметь проблемы совместимости форматов.
Спасибо, думал может быть есть какой-то вариант делать именно под 2003й.

Предложенный вариант не подходит, т.к. у нас принято положение, по которому все документы сохраняются в формате 2003го офиса.
К томуже выгружать/загружать файлы нужно для разных людей. У них может не быть 2007 офиса или пакета совестимости.
Текущий офис 2010, т.е. даже 2007-му уже 4 года, безусловно 2003 еще много где есть, но не стоит за него так сильно держаться.

Пакет совместимости доступен бесплатно — ставится без вопросов, в организации с управляемой инфраструктурой можно накатить централизованно. Т.е. это не так страшно как может показаться.
ну смысла держаться за 2003 формат большого нет, т.е. логичней (я не говорю, что проще :) ) перейти на новый формат, при этом сами программы могут быть и старыми.

Доводы за новый формат:
1. Меньше объемы файлов
2. Открытый, документированный формат, в т.ч. и с беспроблемным программабилити.
3. Гарантия конвертируемости старых файлов (в т.ч. есть inline конверторы, для переноса старых архивов)
4. Не будет проблем совместимости в случае обновления софта.
5. Нет проблем с безопасностью в плане макровирусов и т.д.

т.е. с 2003 года уже 8 лет прошло — можно подумать о пересмотре положений о документах.
На текущий момент остались проблемы:
— скрытие офиса в момент загрузки в него данных.

$ soffice "-accept=socket,host=localhost,port=8100;urp;" -writer -headless &

Он скроется, а после всех операций отобразится?
Просто скрытие через параметры уже есть:
Sequence props(1);
props[0].Name = OUString::createFromAscii( "Hidden" );
props[0].Value <<= hidden;

Непонятно как его обратно показать :)
А. Упс. Пардон ;-)

Мне кажется, мигать окнами перед обескураженным пользователем как-то не особенно комильфо. Я бы держал сервер всегда скрытым, а по факту готовности файла — запускал еще инстанс, но уже не в серверном режиме и сразу распахнутым.
Если речь идет об одномоментной выгрузке-загрузке данных в таблицу с форматированием, мне кажется проще и эффективнее использовать xml-вские форматы файлов. Их можно переименовывать в xls, чтобы юзеров не пугать. Не знаю, как там в openOffice, но экселевский xml поддерживает любое форматирование кроме установки параметров печати, это уже можно на апи делать, а то апи медленно работает.
Переименованый xml файл под linux (или там где стоит только open office), открывается как текст.
А так во всем этот вариант проще.
А с графиками через API работать можно?
Не проверял, нужно искать в документации.
Думаю скорей да.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.