С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.12.2017
Сообщений: 206

Не выгружается последний столбец в эксель по данному примеру

12.01.2023, 13:38. Показов 1230. Ответов 0

Студворк — интернет-сервис помощи студентам
Не разберусь почему не экспортируется в эксель последний столбец из источника данных ADOQuery1.

В DBGride вижу выполненный запрос правильно, а в экселе нет последнего столбца у любого выполненного запроса из ADOQuery1.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
String DatesTimes = Now().FormatString("DDMMYYYYhhmmss");
String fTPL,fXLS;
 
    fTPL = ExtractFilePath(Application->ExeName) +"RepShablon\\export_f2.xlsx";
 
    fXLS = ExtractFilePath(Application->ExeName) +"rep-soft_"+DatesTimes+".xlsx";
    Variant app, books, book, sheet, Rang, vCell;
    app = CreateOleObject("Excel.Application");
    books = app.OlePropertyGet("Workbooks");
    books.OleFunction("Open", WideString(fTPL));
    book = books.OlePropertyGet("item",1);
    sheet = book.OlePropertyGet("WorkSheets",1);
 
    vCell=sheet.OlePropertyGet("Cells").OlePropertyGet("Item",1,2);
    vCell.OlePropertySet("Value",WideString("Отчет по "+DBGrid1->Hint));
 
    const int bounds[4] = {0, DataModule1->ADOQuery1->RecordCount, 0, DataModule1->ADOQuery1->FieldCount+1};   //
    Variant vData = VarArrayCreate(bounds, 3, varVariant);
 
    DataModule1->ADOQuery1->First();
 
    for(int row = 0; row < DataModule1->ADOQuery1->RecordCount; ++row) {
        vData.PutElement(row+2, row, 0);  //
        for(int column = 0; column < DataModule1->ADOQuery1->FieldCount; ++column)
        vData.PutElement(DataModule1->ADOQuery1->Fields->Fields[column]->AsVariant, row, column+1);      //
        DataModule1->ADOQuery1->Next();
    }
 
    Rang = sheet.OlePropertyGet("Range",sheet.OlePropertyGet("Cells",4,1),
    sheet.OlePropertyGet("Cells", DataModule1->ADOQuery1->RecordCount + 3, DataModule1->ADOQuery1->FieldCount));
 
    Rang.OlePropertySet("Value",vData);
    app.OlePropertySet("DisplayAlerts",false);
    app.OlePropertySet("Visible",true);
 
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2023, 13:38
Ответы с готовыми решениями:

Как сделать по данному примеру?
Хочу сделать по данному примеру , но не знаю как. Мне надо так во всех фото. Можете исправить код? Мой код: Css: .block2 { ...

Не могу понять, как подступиться к данному примеру
Помогите решить, не знаю даже куда копать или хотя бы ссылочку, ничего не смог найти.

Сформировать квадратную матрицу порядка n по данному примеру - Pascal
Доброго времени суток, помогите пожалуйста сделать задание: Сформировать квадратную матрицу порядка N по данному образцу: 1 1 1 … 1...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.01.2023, 13:38
Помогаю со студенческими работами здесь

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

Как создать базу данных в Аксесс 2010 на основе (по примеру) составленной БД в Эксель
Помогите, пожалуйста, создать БД в Аксесс 2010 на основе (по примеру) уже составленной БД в Эксель. Что бы все функции сохранились. Файл...

Поменять в матрице местами последний столбец и столбец, содержащий минимальный элемент
Добрый вечер возникла проблема при написании программы, вот условие В данной действительной матрице размера 3 х 3 поменять местами...

Двумерные массивы. Поменять местами последний столбец и столбец с минимальным элементом.
Дана матрица размера NxN.Поменять местами последний столбец и столбец с минимальным элементом.

Поменять местами столбец с минимальным элементом и последний столбец массива
В массиве необходимо найти номер столбца с минимальным элементом по модулю. Поменять местами столбец с минимальным элементом и последний...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru