Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

Экспорт баз данных в Excel вместе с полями БД   Найти похожие ветки 

 
Картошка ©   (2006-12-08 19:05) [0]

В интернете нарыл такой вот код для экспорта баз данных в Excel
procedure TForm1.BtnExportClick(Sender: TObject);
var
XL, XArr: Variant;
i: Integer;
j: Integer;
begin
{не забудьте включить ComObj в список используемых модулей}
// Создаем массив элементов, полученных в результате запроса
XArr:=VarArrayCreate([1,TableDB.FieldCount],varVariant);
XL:=CreateOLEObject("Excel.Application");     // Создание OLE объекта
XL.WorkBooks.add;
XL.visible:=true;

j := 1;
TableDB.First;
while not TableDB.Eof do
 begin
  i:=1;
  while i<=TableDB.FieldCount do
   begin
    XArr[i] := TableDB.Fields[i-1].Value;
    i := i+1;
   end;
  XL.Range["A"+IntToStr(j),
  CHR(64+TableDB.FieldCount)+IntToStr(j)].Value := XArr;
  TableDB.Next;
  j:=j+1;
 end;
XL.Range["A1",CHR(64+TableDB.FieldCount)+IntToStr(j)].select;
// XL.cells.select;                     // Выбираем все
XL.Selection.Font.Name:="Arial cur";
XL.Selection.Font.Size:=10;
XL.selection.Columns.AutoFit;
XL.Range["A1","A1"].select;
end;

Все бы хорошо..НО, название полей при этом не эспортируется....Что бы такого поменять в этом коде и для экспорт полей мне лично не понятно....
Может кто знает??? Или можно как-то по другому экспортировать?


 
umbra ©   (2006-12-08 19:10) [1]

надо просто перед экспортом данных записать в эксель имена полей. Кроме того, вставлять в эксель по одной строке - долго. Лучше вставлять кусками побольше.


 
Картошка ©   (2006-12-15 02:42) [2]


> надо просто перед экспортом данных записать в эксель имена
> полей.

И как это сделать???


 
Ильдар ©   (2006-12-15 09:25) [3]

Вот пример из библии Delphi
var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject("Excel.Application");
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:="Отчёт";
Colum:=XLApp.Workbooks[1].WorkSheets["Отчёт"].Columns;
Colum.Columns[1].ColumnWidth:=20;
Colum.Columns[2].ColumnWidth:=20;
Colum.Columns[3].ColumnWidth:=20;
Colum.Columns[4].ColumnWidth:=20;
Colum.Columns[5].ColumnWidth:=20;
Colum:=XLApp.Workbooks[1].WorkSheets["Отчёт"].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=14;
//Добавление названий полей
Sheet:=XLApp.Workbooks[1].WorkSheets["Отчёт"];
Sheet.Cells[1,2]:="Телефонный справочник";
Sheet.Cells[2,1]:="Фамилия";
Sheet.Cells[2,2]:="Имя";
Sheet.Cells[2,3]:="e-mail";
Sheet.Cells[2,4]:="Город";
Sheet.Cells[2,5]:="Дата рождения";
//Добавление полей таблицы
index:=3;
DataModule1.BookTable.First;
for i:=0 to DataModule1.BookTable.RecordCount-1 do
begin
Sheet.Cells[index,1]:=DataModule1.BookTable.Fields.Fields[1].AsString;
Sheet.Cells[index,2]:=DataModule1.BookTable.Fields.Fields[2].AsString;
Sheet.Cells[index,3]:=DataModule1.BookTable.Fields.Fields[3].AsString;
Sheet.Cells[index,4]:=DataModule1.BookTable.Fields.Fields[5].AsString;
Sheet.Cells[index,5]:=FormatDateTime("dddddd",
DataModule1.BookTable.Fields.Fields[6].AsDateTime);
Inc(index);
DataModule1.BookTable.Next;
end;



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
8-1144096949
Asics777
2006-04-04 00:42
2007.03.11
Как сделать поддержку скинов как в Light Alloy?


3-1165994423
cad2206
2006-12-13 10:20
2007.03.11
Приложение для базы MySQL


15-1171382070
oldman
2007-02-13 18:54
2007.03.11
Что только не узнаешь по телеку...


15-1171596526
Slider007
2007-02-16 06:28
2007.03.11
С днем рождения ! 16 февраля


1-1168784135
The X
2007-01-14 17:15
2007.03.11
Корректная работа с CHM-хелпами в Delphi5.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский