C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выгрузка данных в Ехcel  (Прочитано 2857 раз)
php_vasia
Участник


Сказали спасибо: +1/-2
Offline

Сообщений: 120


Выгрузка данных в Ехcel
« : 16 Март 2011, 06:21:53 »

Добрый день
У меня есть результат запроса можно его выгрузить в Ехcel?
Записан
d7d1cd
Участник


Сказали спасибо: +59/-24
Offline

Сообщений: 1005


Re: Выгрузка данных в Ехcel
« Ответ #1 : 16 Март 2011, 06:49:34 »

Можно 
Записан
php_vasia
Участник


Сказали спасибо: +1/-2
Offline

Сообщений: 120


Re: Выгрузка данных в Ехcel
« Ответ #2 : 16 Март 2011, 07:10:02 »

   а как?
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: Выгрузка данных в Ехcel
« Ответ #3 : 16 Март 2011, 08:07:32 »

1. "Молча" (С)
2. "Руками" (С)
3. "Посоветовавшись с телепатами" (TM)

какой тип запроса?
какая СУБД?
какой результат?
в каком виде результат?
как выгрузить в Excel - через OLE или прямо в файл без запуска сервера Excel?
и т.д.
Записан
php_vasia
Участник


Сказали спасибо: +1/-2
Offline

Сообщений: 120


Re: Выгрузка данных в Ехcel
« Ответ #4 : 16 Март 2011, 08:15:18 »

Запрос: select *  from ac_pln t  where dce0 = :dce_param order by 2,3
СУБД ORACLE
выгрузить в excel - открывается excel и результат записывается excel


у меня даже просто запустить excel из builder не получается
Variant::CreateObject("Excel.Application");
« Последнее редактирование: 16 Март 2011, 08:25:45 от php_vasia » Записан
Asher
Администратор


Сказали спасибо: +111/-5
Offline

Сообщений: 425


Re: Выгрузка данных в Ехcel
« Ответ #5 : 16 Март 2011, 10:06:18 »

Привет.
https://cbuilder.ru/index.php/topic,1109.0.html
Записан
php_vasia
Участник


Сказали спасибо: +1/-2
Offline

Сообщений: 120


Re: Выгрузка данных в Ехcel
« Ответ #6 : 16 Март 2011, 13:26:32 »

Как можно поучит все данные DBGrid по-ячеично(т.е. значение каждой ячейки)?
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: Выгрузка данных в Ехcel
« Ответ #7 : 16 Март 2011, 14:16:38 »

Например так
Код
TStringList* __fastcall GridItemsToStrings(TDBGrid* Grid, int start, int end) { // сохраняет строки из DBGrid в StringList начиная с start по end
TStringList *sl = new TStringList;
UnicodeString str;
 
Grid->DataSource->DataSet->RecNo = start;
Grid->DataSource->DataSet->DisableControls();
int s = start;
try {
while (s end && !Grid->DataSource->DataSet->Eof) {
str = "";
for (int i=0; iGrid->DataSource->DataSet->Fields->Count; i++)
str += Grid->DataSource->DataSet->Fields->Fields[i]->AsString() + "\t";
sl->Add(Trim(str));
Grid->DataSource->DataSet->Next();
s++;
}
}
__finally {
Grid->DataSource->DataSet->RecNo = start;
Grid->DataSource->DataSet->EnableControls();
}
return sl;
}
 
Записан
php_vasia
Участник


Сказали спасибо: +1/-2
Offline

Сообщений: 120


Re: Выгрузка данных в Ехcel
« Ответ #8 : 17 Март 2011, 08:07:45 »

а как правильно передать дату?
что-то 
Код:
Grid->DataSource->DataSet->Fields->Fields[i]->AsDateTime
он её передает но в результате одни ###  хотя значение правильное
« Последнее редактирование: 17 Март 2011, 08:29:34 от php_vasia » Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: Выгрузка данных в Ехcel
« Ответ #9 : 17 Март 2011, 09:18:46 »

Что значит "передать"? Если надо записать дату в БД, то через AsDateTime, но передаешь переменную типа TDateTime. Можешь передать также через AsString - тогда в строковом формате (типа "01.01.2011").
Записан
php_vasia
Участник


Сказали спасибо: +1/-2
Offline

Сообщений: 120


Re: Выгрузка данных в Ехcel
« Ответ #10 : 17 Март 2011, 09:27:47 »

Надо из builder приложение  значение даты передать в excel.
AsString тоже самое одни ###, хотя если нажать на поле(в excel) то значение верно но отображает ###
Записан
php_vasia
Участник


Сказали спасибо: +1/-2
Offline

Сообщений: 120


Re: Выгрузка данных в Ехcel
« Ответ #11 : 17 Март 2011, 09:57:25 »

Может подскажет кто-нибудь как изменить ширину колонки или как установить автоматический подбор ширины

Вообще должно вроде бы так но что-то не работает
Код:
WorkSheet.OlePropertyGet("Columns", 1).OleProcedure("autofit");
« Последнее редактирование: 17 Март 2011, 11:48:35 от php_vasia » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.111 секунд. Запросов: 22.