Главная страница
    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.041 c
6-1159790021
Script
2006-10-02 15:53
2007.03.11
Пинг нескольких компов одновременно


15-1171315254
ProgRAMmer Dimonych
2007-02-13 00:20
2007.03.11
Помогите найти произведение в оригинале


1-1169107900
JohnKorsh
2007-01-18 11:11
2007.03.11
Раскладка клавиатуры.


15-1171214336
Веталь
2007-02-11 20:18
2007.03.11
А драйвера полностью грузятся в память?


8-1144096949
Asics777
2006-04-04 00:42
2007.03.11
Как сделать поддержку скинов как в Light Alloy?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский