Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Сохранение таблицы в ODS формате


Автор: ir4y 12.10.2011, 20:07
Здравствуйте, 

Есть класс наследник от QSqlModel, для него необходимо написать функцию генерирующую ODS(open document spreadsheet) документ по содержимому класса.
Подскажите какие есть библиотеки для создания ODS документов.

Автор: Amp 14.10.2011, 22:31
ODS - это обычный zip-архив с xml-файлами внутри. Экспорт из программы на коленке пишется за вечер.

Автор: math64 15.10.2011, 10:31
Цитата(Amp @  14.10.2011,  22:31 Найти цитируемый пост)
ODS - это обычный zip-архив с xml-файлами внутри. Экспорт из программы на коленке пишется за вечер.

Для таблицы - да (что нужно тс), для произвольного документа - нет.

Автор: Amp 16.10.2011, 20:16
Цитата(math64 @  15.10.2011,  10:31 Найти цитируемый пост)
для произвольного документа - нет.

Разумеется, спецификация-то на формат имеет приличное количество страниц.

Автор: ir4y 30.10.2011, 18:13
Цитата

ODS - это обычный zip-архив с xml-файлами внутри. Экспорт из программы на коленке пишется за вечер.

Я это прекрасно понимаю, и в настоящий момент так и делаю, но такое решение на мой взгляд - велосипедостроиельство и пойдет только в качестве временного,
А что если придется изменить формат документа, добавить пересчет по формулам и какие-нибудь макросы?

Доскональна изучать формат не вижу смысла, так как по любому должны быть готовые библиотеки.

В результате поисков нашел только http://lpod-project.org/, но это питон, порт под С++ не поддерживается,
есть еще libreoffice SDK, но для него работоспособных примеров я не нашел.

Мне интересна готовая библиотека,
 в жизни не поверю что для открытого формата нет открытой библиотеки для его генерации.

Автор: pasergey 30.11.2012, 14:26
Цитата(ir4y @  30.10.2011,  18:13 Найти цитируемый пост)
в жизни не поверю что для открытого формата нет открытой библиотеки для его генерации.


Если вы нашли такую библиотеку ,поделитесь ссылкой, плиз.

Автор: tzirechnoy 30.11.2012, 15:42
"Библиотека" для связи с OO.org называется UNO. В комплекте http://api.libreoffice.org/examples/DevelopersGuide/examples.html простые примеры. Большынство, правда (включая создание электронной таблицы) на java, но там жэ есть и на C++, переводить с одного на другое можно по аналогии.

Автор: Amp 1.12.2012, 16:39
Цитата(tzirechnoy @  30.11.2012,  15:42 Найти цитируемый пост)
"Библиотека" для связи с OO.org называется UNO. В комплекте идут простые примеры.

Оно за собой пол-офиса не тащит?

Автор: tzirechnoy 3.12.2012, 13:10
Цитата
Оно за собой пол-офиса не тащит?


Нет, оно потащит весь офис. 

А как Вы себе представляете полезную работу библиотеки для связи с офисом -- без офиса?

Автор: Amp 3.12.2012, 15:45
Цитата(tzirechnoy @  3.12.2012,  13:10 Найти цитируемый пост)
Нет, оно потащит весь офис. 

А как Вы себе представляете полезную работу библиотеки для связи с офисом -- без офиса? 

Нужна же не связь с офисом, а генерация файлов в заданном формате. Что-то вроде Apache POI или аналога LibXL, только для OpenDocument и C++.

Автор: tzirechnoy 3.12.2012, 19:33
Цитата
Нужна же не связь с офисом, а генерация файлов в заданном формате.


Ну, правильная генерацыя у автора ужэ есть -- а я отвечал на его сетования, что он хочет как раз полный офис со всеми возможностями.

Автор: f35f22fan 20.6.2014, 00:23
Поздновато отвечаю, но кому понадобится, есть библиотека QOds:
https://github.com/f35f22fan/QOds

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)