Russian Qt Forum

Qt => Кладовая готовых решений => Тема начата: Nicolayy от Ноябрь 17, 2018, 02:50



Название: Редактирование файлов OpenOffice Calc
Отправлено: Nicolayy от Ноябрь 17, 2018, 02:50
Если кому вдруг понадобится - мои старые наработки по таблицам OpenOffice Calc.
9 лет назад мною (для работы) был написан класс с методами для C++ (Qt), который редактирует таблицы OpenOffice 1.0 (расширение *.sxc, поддерживается и новыми OpenOffice Calc тоже). Особых отличий формата SXC от формата ODS нет, несложно на самом деле допилить всё это дело, чтобы ODS тоже поддерживалось. Класс называется NSxcFile

Я не знаю, может быть сейчас всё уже гораздо проще делается в Qt, сам я давно уже не программирую что-либо для ПК, но в любом случае кому-то может быть интересно как там внутри этих XML находить ячейки в файлах OpenOffice или типа того.

Поддерживаются функции:

- редактирование текста ячеек
- изменение шрифта, его размера и цвета
- изменение цвета внутри ячейки
- изменение цвета границ ячеек
- изменение типа границ ячеек
- добавление промежуточных строк
- добавление страниц
- объединение ячеек
- "клонирование" (создание повторяющихся) ячеек
- работа стилями ячеек - стиль реализован как отдельный класс
...и некоторые другие функции

Последняя версия была в 2010 году, 1.0 ALPHA Build 52.1
Документации по этому классу я не написал.
Для корректной работы класса в Windows требуется внешняя программа-архиватор, которая умеет распаковывать zip-файлы (коими и являются файлы SXC), для Linux подразумевается, что таким архиватором является встроенная команда zip.

//-------------------------

Есть еще старая версия этого же класса NSxcFile: 1.0 Alpha Build 38
К нему есть документация, в приложении.