Форум: "Базы";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
ВнизОтчет по нескольким линиям TMemo!!!! Найти похожие ветки
← →
Viktor Lonin (2002-02-20 13:47) [10]Вот тебе примерчик, я когда то делал. Я использую метод позднего связывания, что считается вроде бы не очень хорошо...
Но тем не менее:
Во-первых в разделе Uses необходимо добавить ComObj
Далее какая нибудь процедура вывода в Excel(по кнопке например):
procedure TForm1.SpeedButton9Click(Sender: TObject);
var X,Sheet,sheet1,Colum,Colum1:Variant;
i,j,Last_Str:Integer;
begin
X:= CreateOleObject("Excel.Application");
X.Visible:=true; //показать exel
X.Workbooks.Add(-4167); //так надо :))
X.Workbooks[1].WorkSheets[1].Name:="Отчет";//имя книги
//получаем указатель на лист:
Sheet:=X.Workbooks[1].WorkSheets["Отчет"];
//получаем указатель на колонки
Colum:=X.Workbooks[1].WorkSheets["Отчет"].Columns;
//изменяем колонки
Colum.Columns[1].ColumnWidth:=3; //unpacker
Colum.Columns[2].ColumnWidth:=3; //washer
Colum.Columns[3].ColumnWidth:=3; //...
Colum.Columns[4].ColumnWidth:=3;
//Указатель на строки
Colum:=X.Workbooks[1].WorkSheets["Отчет"].Rows;
//меняем шрифт определенных строк(заголовки)
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=13;
Colum.Rows[4].Font.Bold:=true;
Colum.Rows[5].Font.Bold:=true;
//заполняем
Sheet.Cells[1,6]:="Привет!";
//данные из БД
table2.First;
for i:=1 to table2.RecordCount do //по таблице2
begin
for j:=1 to 5 do //по полям таблицы
begin
Sheet.Cells[i+5,j]:=table2.Fields[j].AsString;
end;//of for j=1 to
table2.Next;
end;//of for i=1 to
end;
Я тут очень многое вырезал, поэтому возможно сразу не заработает.
Пиши, если не понятно.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c