Форум: "Базы";
Текущий архив: 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