Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Сохранение данных из ListView в *.xls

01.01.2007
{ **** UBPFD *********** by kladovka.net.ru ****
>> Сохранение данных из ListView в *.xls
 
Сохранение данных из ListView в *.xls
 
Зависимости: ComObj
Автор:       dDan, ddan2002@mail.ru
Copyright:   dDan
Дата:        3 декабря 2003 г.
********************************************** }
 
procedure
ListToExcel(ListView: TListView);
var
 row
,i:integer;
 
Range,Sheet:VAriant;
begin
 
try
 
Excel:=CreateOleObject('Excel.Application');
 
except
 
raise Exception.Create('Невозможно поключиться к серверу Excel');
 
end;
 
Screen.Cursor:=crHourGlass;
 
Excel.SheetsInNewWorkBook:=1;
 
Excel.WorkBooks.Add;
 
Sheet:=Excel.Workbooks[1].Sheets[1];
 
Range:=Sheet.Columns;
 
Range.Columns[1].ColumnWidth:=30; //Количество Столбцов и их ширина
 
Range.Columns[n].ColumnWidth:=30;
 
Range.Columns[n+1].ColumnWidth:=30;
 
Range.Columns.Font.Size:=8;
 
Range:=Sheet.Range['a1:f1'];
 
Range.Font.Size:=15;
 
Range.Font.Bold:=True;
 
Range.Columns.Interior.ColorIndex:=6;
 
Range.HorizontalAlignment:=3;
 
Sheet.Cells[1,2]:='Данные на '+DateToStr(Date);//Заголовок
 
Range:=Sheet.Range['a2:f2'];
 
Range.Font.Size:=10;
 
Range.Font.Bold:=True;
 
Sheet.Cells[2,1]:='АА';//Названия столбцов
 
Sheet.Cells[2,n]:='ББ';
 
Sheet.Cells[2,n+1]:='вв';;
 
Row:=3;
 
for i :=0 to List.Items.Count-1 do begin
 
Sheet.Cells[Row,1]:=ListView.Items.Item[i].Caption;
 
Sheet.Cells[Row,2]:=ListView.Items.Item[i].SubItems[n];
 
Sheet.Cells[Row,3]:=ListView.Items.Item[i].SubItems[n+1];
  inc
(Row);
 
end;
 
Screen.Cursor:=crDefault;
 
if SaveDialog.Execute then Excel.WorkBooks[1].SaveAs(exs.FileName);//Сохраняем
 
Excel.Visible:=True;//Показываем Excel
end;