crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Существуют ли средства для экспорта данных в MS Excel/OpenOffice?
Rocky
  опции профиля:
сообщение 17.2.2009, 23:35
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Всем еще раз привет!

Пишу программу на qt, которая производит инженерные расчеты. Результаты расчетов выводятся на печать. Теперь начальника хочет, чтобы данные можно было экспортировать в электронные таблицы.... А именно: если речь о винде, то в экселе нарисовать соответсвующий бланк, размер ячеек, поместить в эти ячейки данные из программы. Цель экспорта: чтобы можно было редактировать некторые значения. Может быть изменять штамп. сам бланк. Есть ли в QT какие-нибудь средства для общения с...хм.... внешнимми программами... По типу COM? Надеюсь, я не криво объяснил :(

Или проще было бы написать самому программу (или модуль) с гуи, на ктором можно было бы и рисунки размещать, и линии рисовать, и текст править.... Короче по типу экселя?

Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 17.2.2009, 23:43
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


В Qt есть работа с ActiveX, смотри: Каркас ActiveQt, но он для коммерческой версии Qt.

Я думаю проще было бы использовать не COM, а API. Того же Crystal Reports, который позволяет также через свой API экспорт в Word или Excel, и не обязательно использовать комерческую версию.

А вообще глянь в исходники нашего сайта: Qt Печать, может что и сгодится в качестве альтернативы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 17.2.2009, 23:49
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Пошли начальнику подальше, я серьезно :)

Вот, когда стандарт Open Document Format станет повсеместным, тогда да.

Ух и любят у нас начальники с Excel'ем работать, что огорчает больше всего, так это то, что и пользователи любят скачивать таблицы в этом формате. А еще больше огорчает тот факт, что pdf формат циферки в виде текста хранит, что в итоге в большой объем выливается.

COM есть у коммерческой версии Qt. Но я никогда с ней не работал. В MinGW нет заголовков, чтобы работать с COM'ом. Вернее, теоретически сделать это можно на низком уровне, через API, но многое придется писать самому.

Я пошел иным путем. Генерю XML, который хавает Excel. Но тут есть подводные камни. Во первых xml не может хранить графики, картинки, прочее медиа, а также макросы. Формат может содержать символы, которые не приемлемы стандартом XML, но Microsoft их использует. Например libxml2 не дал мне записать символ перевода строки "#13". Я общался с разработчиком библиотеки откуда и узнал о проблемы. Решил путем повторного открытия xml файла в стриме и заменой "спец кода" - "__newline__" на нужную последовательность.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 18.2.2009, 0:02
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


:)

ViGOur
ок, спасибо.

SABROG
А Excel хавает через макросы, написанные на VBA? Т.е. парсит xml-файл и в зависимости от спецификации делает то, что нужно, идея такая? По-поводу графики: есть формульные картинки просто, но это можно решить: писать просто путь к файлу с картинкой и все.

Сообщение отредактировал Rocky - 18.2.2009, 0:03
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 18.2.2009, 0:32
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Проще имхо макрос написать, который будет ломиться на SQL сервер и заполнять новую книгу. Благо макросы поддерживают SQL запросы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.2.2009, 1:44
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9668
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Rocky, есть еще такая библиотечка: libexcel. Но она тоже платная
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 18.2.2009, 11:16
Сообщение #7


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


А ежели можно обойтись только данными - используй CSV.
Его нормально читают и ёксель и OOo.

Да, вроде в 4.5 обещали поддержку ODF - можно будет напрямую генерить документы и таблицы для ООо. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 19.2.2009, 0:58
Сообщение #8


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Ок, спасибо ребят, буду копать :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2021, 3:03