Cells в QT при работе с MS Office |
Здравствуйте, гость ( Вход | Регистрация )
Cells в QT при работе с MS Office |
abra |
24.3.2009, 19:27
Сообщение
#1
|
Студент Группа: Участник Сообщений: 68 Регистрация: 12.1.2009 Пользователь №: 485 Спасибо сказали: 11 раз(а) Репутация: 2 |
Привет.
Здесь столкнулся с такой заботой. QAxObject *range = StatSheet->querySubObject( "Range(const QVariant&)",QVariant(QString("A1:B6"))); (выделяем диапозон для работы) QAxObject *range = StatSheet->querySubObject( "Range(const QVariant&)",QVariant(QString("A1"))) (выделяем 1 ячейку) QAxObject *range = StatSheet->querySubObject( "Cells(const QVariant&)",QVariant(QString("1"))) ( выделяем 1 ячейку(аналог Cells(1,1)) QAxObject *range = StatSheet->querySubObject( "Cells(const QVariant&)",QVariant(QString("2"))) (выделяем вторую ячейку (аналог Cells(1,2)) Но у меня есть таблица БД.В ней поля.СЛедовательно,должна соблюдаться структура при выводе данных в Эксель 1 поле 2 поле 3 поле 4 поле 5 поле Но!Как мне обратиться скажем к Cells(2,2)...или Cells(3,4)...Причем это обязательно нужно сделать через цифры (Cells(X,Y) (X,Y- целочисленные указатели на ячейки)) Потому что через A1 нельзя вызывать(в таком случае будет слишком мудрено вызываться ячейка B1) ________________________________________________________________________________ ____________________________________________ Хм...Ребят,подождите...Сейчас одна идейка возникла...Может написать QAxObject *range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(QString("2")),QVariant(QString("1"))) попробовать......... ________________________________________________________________________________ ______________________________________________ Не помогло........ QAxObject *range = StatSheet->querySubObject( "Cells(const QVariant&;const QVariant&)",QVariant(QString("4")),QVariant(QString("8"))); Пишет значение в ячейку D1(принял первый параметр равный 4) ((( Он почему то принимает только первый параметр,и всё......... Какие будут предложения? Сообщение отредактировал abra - 24.3.2009, 19:46 |
|
|
abra |
24.3.2009, 21:34
Сообщение
#2
|
Студент Группа: Участник Сообщений: 68 Регистрация: 12.1.2009 Пользователь №: 485 Спасибо сказали: 11 раз(а) Репутация: 2 |
Проблема решена)))
Может кому понадобится QAxObject *range = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(4),QVariant(8 )); Вместо 4 и 8 можно использовать например i и j ,как входные параметры. |
|
|
Rocky |
25.3.2009, 20:21
Сообщение
#3
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
abra, а можно вопросик? А как вообще начинать работу с офисом? Не подскажешь, может ссылки какие-нить, можно на английском. Сейчас сам вплотную подошел к этому: надо выгружать данные в Excel или word (не особо важно вочто). А чистый COM не хочется использовать....
|
|
|
ViGOur |
25.3.2009, 20:54
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
abra, если не лень, то может и правда опишешь?
А то эта тема очень плохо освещена. Заодно и в вику выложим, как и что там. |
|
|
abra |
1.4.2009, 0:17
Сообщение
#5
|
Студент Группа: Участник Сообщений: 68 Регистрация: 12.1.2009 Пользователь №: 485 Спасибо сказали: 11 раз(а) Репутация: 2 |
Оу.Извините))))
Чот как то решил для себя проблему,описал вам её,так и не заходил больше. Я вот сейчас вплотную занимаюсь работой с MS Office под QT на высоком уровне.Вот сейчас сам ищу статьи,но в инете их нет,поэтому писать самому приходится. Для начала советую почитать вам вот это http://hardclub.donntu.edu.ua/projects/qt/...s/qt-excel.html Чтобы подключить библиотеку,вам необходимо в .pro файле (в каталоге с вашим проектом),дописать LIBS += -lqaxcontainer Ну теперь собственно приступаем к кодингу.
Здесь идёт работа с макросами MS Office. Скопировать данные из 1 ячейки в другую:
Работа со шрифтами.Дополнение:
Редактирование высоты,ширины строк или столбцов(вместо Rows указываем Columns,вместо RowHeight указываем ColumnWidth )
Объединение ячеек:
Вот еще сейчас покодил.Разрешает перенос:
Вот еще накодил)))) Устанавливает положение текста.
Я здесь напишу основные. Выравнивание по левому краю: -4131 Выравнивание по центру: -4108 Выравнивание по правому краю: -4152 Это для вертикального выравнивания:
Выравнивание по верхнему краю: -4160 Выравнивание по центру: -4108 Выравнивание по нижнему краю: -4107 Вот еще написал=))) Удаление\добавление строк
Удаление\добавление столбцов
Обещаная работа с границами ячеек =)))
Ну вот собственно на этом я наверно и завершу написание статьи по работе библиотеки QT c MS Office Excel. Далее задавайте вопросы,будем уже на конкретных примерах разбираться. )) Сообщение отредактировал Litkevich Yuriy - 5.2.2014, 16:40 |
|
|
abra |
1.4.2009, 18:42
Сообщение
#6
|
Студент Группа: Участник Сообщений: 68 Регистрация: 12.1.2009 Пользователь №: 485 Спасибо сказали: 11 раз(а) Репутация: 2 |
Статью я постоянно редактирую(дополняю),по мере того,как кодю=)))
P.S Сейчас рассмотрю вопрос с границами ячеек,и на этом наверно закончу.Далее задавайте конкретные вопросы.Статью, я могу отредактировать,и можно на Вику выложить. Сообщение отредактировал abra - 1.4.2009, 19:28 |
|
|
Litkevich Yuriy |
1.4.2009, 18:54
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
супер!
|
|
|
abra |
1.4.2009, 19:37
Сообщение
#8
|
Студент Группа: Участник Сообщений: 68 Регистрация: 12.1.2009 Пользователь №: 485 Спасибо сказали: 11 раз(а) Репутация: 2 |
Спасибо.
Сообщение отредактировал abra - 1.4.2009, 19:47 |
|
|
ViGOur |
1.4.2009, 20:11
Сообщение
#9
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
abra, бросил твою статью в Faq нашей вики: Работе с MS Office с помощью ActiveQt
Если что, то можешь зайти в нее сам и поправить - добавить. Имя пользователя и пароль в вики тот же, что ты входишь в форум. |
|
|
abra |
1.4.2009, 21:27
Сообщение
#10
|
Студент Группа: Участник Сообщений: 68 Регистрация: 12.1.2009 Пользователь №: 485 Спасибо сказали: 11 раз(а) Репутация: 2 |
Хорошо.Только у меня просьба.Подправь пожалуйста заголовок.
А то там написано - РаботЕ,вместо РаботА |
|
|
Текстовая версия | Сейчас: 11.12.2024, 12:43 |