crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> вывод на печать
ArhiZhek
  опции профиля:
сообщение 10.11.2011, 20:14
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 9.10.2011
Пользователь №: 2932

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




Репутация:   0  


Подскажите пожалуйста, у меня есть программа, из нее нужно распечатать числовые данные в виде некоторой таблицы… Так вот, как мне свою программу связать с Excel чтоб значения из LineEdit, которых там много, она перекидывала в фиксированные ячейки Excel? То есть в Excel была уже созданная таблица, а программа только бы заполняла ячейки и распечатала. :unsure:

Цитата(ArhiZhek @ 10.11.2011, 21:10) *
Подскажите пожалуйста, у меня есть программа, из нее нужно распечатать числовые данные в виде некоторой таблицы… Так вот, как мне свою программу связать с Excel чтоб значения из LineEdit, которых там много, она перекидывала в фиксированные ячейки Excel? То есть в Excel была уже созданная таблица, а программа только бы заполняла ячейки и распечатала. :unsure:

программа сделана в Qt
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 11.11.2011, 4:12
Сообщение #2


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

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

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




Репутация:   6  


FAQ по работе с Microsoft Office
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ArhiZhek
  опции профиля:
сообщение 11.11.2011, 18:35
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 9.10.2011
Пользователь №: 2932

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




Репутация:   0  


ясно, спасибо, по копаюсь...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ArhiZhek
  опции профиля:
сообщение 14.11.2011, 0:23
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 9.10.2011
Пользователь №: 2932

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




Репутация:   0  


подскажите пожалуйста, некоторые не понятки...


Чтобы подключить библиотеку,вам необходимо в .pro файле (в каталоге с вашим проектом),дописать LIBS += -lqaxcontainer

Совет: внимательно следите за создаваемыми объектами и указателями, возвращаемыми методом querySubObject(). Они не удаляются автоматически, нужно вызывать delete вручную. В противном случае будет эффективно расходоваться память, и после нескольких тысяч вызовов метода querySubObject() ваша программа и эксель в сумме займут всю память, но это полбеды - обращение к одной ячейке будет занимать секунду. Это всего лишь предостережение...
(как это сделать и важно ли это?)


Ну теперь собственно приступаем к кодингу.(в каком проекте срр это дело прописывать?)

#include <ActiveQt/qaxobject.h>
#include <ActiveQt/qaxbase.h>

// получаем указатель на Excel
QAxObject *mExcel = new QAxObject( "Excel.Application",this);
// на книги
QAxObject *workbooks = mExcel->querySubObject( "Workbooks" );
// на директорию, откуда грузить книгу
QAxObject *workbook = workbooks->querySubObject( "Open(const QString&)", "C:\\q\\1\\otchet.xls" );
// на листы (снизу вкладки)
QAxObject *mSheets = workbook->querySubObject( "Sheets" );
// указываем, какой лист выбрать. У меня он называется topic.
QAxObject *StatSheet = mSheets->querySubObject( "Item(const QVariant&)", QVariant("topic") );
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 14.11.2011, 5:57
Сообщение #5


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

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

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




Репутация:   6  


Самый простой пример в приложении. Не слежу за возвращаемыми значениями, но слежу за памятью. Возможны ошибки с просонья. Очень давно ничего в эксель не выводил. Файл out.xls лучше сразу кинуть в директорию Мои документы, иначе программа тихо упадет.
Прикрепленные файлы
Прикрепленный файл  tmp_excel.zip ( 5.31 килобайт ) Кол-во скачиваний: 89
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ArhiZhek
  опции профиля:
сообщение 14.11.2011, 20:20
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 9.10.2011
Пользователь №: 2932

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




Репутация:   0  


Цитата(silver47 @ 14.11.2011, 6:57) *
Самый простой пример в приложении. Не слежу за возвращаемыми значениями, но слежу за памятью. Возможны ошибки с просонья. Очень давно ничего в эксель не выводил. Файл out.xls лучше сразу кинуть в директорию Мои документы, иначе программа тихо упадет.

благодарю за подмогу)))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 20.4.2024, 8:37