Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2013, 14:46   #1
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Экспорт из DBGrid в Excel и формат ячеек Дата

Делаю экспорт из DBGrid в Excel так
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
ExcelApp : variant;
row :integer;
col:integer;
begin
dbgrid1.DataSource.DataSet.First;
ExcelApp:=CreateOLEObject('Excel.Application');
ExcelApp.Visible := false;
ExcelApp.WorkBooks.add;
ExcelApp.WorkBooks[1].WorkSheets[1].Name := 'Result';
for col :=0 to DBGrid2.Columns.Count-1 do
ExcelApp.WorkBooks[1].WorkSheets[1].cells[1,col+1].value:=dbgrid2.fields[col].displaylabel;
for row :=0 to DBGrid2.DataSource.DataSet.RecordCount-1 do
begin
for col :=0 to DBGrid2.Columns.Count-1 do
begin
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+2,col+1].value:=dbgrid2.DataSource.DataSet.Fields[col].AsString;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+2,1]:=row+1;
end;
DBGrid2.DataSource.DataSet.Next;
end;
ExcelApp.WorkBooks[1].WorkSheets[1].visible:=true;
ExcelApp.WorkBooks[1].WorkSheets[2].visible:=false;
ExcelApp.WorkBooks[1].WorkSheets[3].visible:=false;
ExcelApp.Range['B:B'].Select;
ExcelApp.Selection.NumberFormat:='0';
ExcelApp.Range['J:J'].Select;
ExcelApp.Selection.NumberFormat:=ShortDateFormat;
ExcelApp.Visible := true;
end;
При этом мне нужно один столбеч сделать в формате Дата а не текстовом. Поэтому в кодже есть такое:
Код:
ExcelApp.Range['J:J'].Select;
ExcelApp.Selection.NumberFormat:=ShortDateFormat;
После выгрузки нажимаю правой кнопкой мыши по ячейке. Смотрю Формат. Действительно ДАта, то что надо.
Но когда пытаюсь этот сформированный файл подключить к ADOQuery то эта колонка распознается как текстовый формат.
А если теже даты что в этой колонке вручную вписать, то тогда формат ADOQuery распознает как дата.
Как решить проблему не знаю. Мне надо что бы не вручную вписывать в ячейки даты, а что бы они сразу выгукжались в Excel как дата.
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel - экспорт выбранной ячейки из DBGrid в Excel. wymkent Помощь студентам 0 16.05.2012 02:10
Экспорт из DBGrid в Excel Oleg Romanchuk БД в Delphi 2 23.07.2011 09:46
MS Excel -> формат ячеек spirit-ua Microsoft Office Excel 3 11.07.2011 13:48
Экспорт DBGrid в Excel SevenXP C/C++ Базы данных 2 08.07.2011 15:36
Экспорт DBGrid в Excel SpyCrypt БД в Delphi 5 28.04.2011 15:54