Главная страница
    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.044 c
3-1166092044
Alex1884
2006-12-14 13:27
2007.03.11
Не могу сделать связьмежду ComboBox и базой данных


2-1171808352
Novichok_new
2007-02-18 17:19
2007.03.11
БД Paradox


6-1159950477
POINT
2006-10-04 12:27
2007.03.11
webbrowser


2-1171046515
jon007
2007-02-09 21:41
2007.03.11
Получение напряжений блока питания средствами Delphi


8-1152387424
!_SM_!
2006-07-08 23:37
2007.03.11
Звук из ресурса





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