
Yersinia pestis
   
Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი
Репутация: 35 Всего: 130
|
Вот тоже пример из готовой программы, который я тоже не адаптировал. Код | procedure TForm1.otchet_kl; var ddd:tdatetime;npp,row,npp1,row1:integer; new:string; brak:boolean; begin npp:=1; row:=2; npp1:=1; row1:=2; brak:=false; ex:=createoleobject('excel.application'); ex.visible:=false; Ex.DisplayAlerts:=False; ex.workbooks.add; try Ex.ActiveSheet.PageSetup.Orientation := xlLandscape; Ex.ActiveSheet.PageSetup.topmargin:=0; Ex.ActiveSheet.PageSetup.bottommargin:=0; Ex.ActiveSheet.PageSetup.leftmargin:=0; Ex.ActiveSheet.PageSetup.rightmargin:=0; except end; ex.activeworkbook.activesheet.Rows[1].Font.Bold := True; ex.activeworkbook.activesheet.cells.item[1,1].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,3].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,4].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,5].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,6].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,7].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,1]:='№'; ex.activeworkbook.activesheet.cells.item[1,2]:='Дата оформления'; ex.activeworkbook.activesheet.cells.item[1,3]:='Тип операции'; ex.activeworkbook.activesheet.cells.item[1,4]:='Номер выданной карты'; ex.activeworkbook.activesheet.cells.item[1,5]:='ФИО получателя'; ex.activeworkbook.activesheet.cells.item[1,6]:='№ магазина'; ex.activeworkbook.activesheet.cells.item[1,7]:='Дата выдачи'; ex.activeworkbook.activesheet.cells.item[1,8]:='Выдача карты'; ex.activeworkbook.activesheet.cells.item[1,1].ColumnWidth := 5; ex.activeworkbook.activesheet.cells.item[1,2].ColumnWidth := 20; ex.activeworkbook.activesheet.cells.item[1,3].ColumnWidth := 20; ex.activeworkbook.activesheet.cells.item[1,4].ColumnWidth := 20; ex.activeworkbook.activesheet.cells.item[1,5].ColumnWidth := 25; ex.activeworkbook.activesheet.cells.item[1,6].ColumnWidth := 9; ex.activeworkbook.activesheet.cells.item[1,7].ColumnWidth := 20;
//// exx:=createoleobject('excel.application'); exx.visible:=false; exx.DisplayAlerts:=False; exx.workbooks.add; try exx.ActiveSheet.PageSetup.Orientation := xlLandscape; exx.ActiveSheet.PageSetup.topmargin:=0; exx.ActiveSheet.PageSetup.bottommargin:=0; exx.ActiveSheet.PageSetup.leftmargin:=0; exx.ActiveSheet.PageSetup.rightmargin:=0; except end; exx.activeworkbook.activesheet.Rows[1].Font.Bold := True; exx.activeworkbook.activesheet.cells.item[1,1].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[1,2].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[1,3].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[1,4].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[1,5].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[1,6].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[1,7].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[1,1]:='№'; exx.activeworkbook.activesheet.cells.item[1,2]:='Дата оформления'; exx.activeworkbook.activesheet.cells.item[1,3]:='Тип операции'; exx.activeworkbook.activesheet.cells.item[1,4]:='Номер выданной карты'; exx.activeworkbook.activesheet.cells.item[1,5]:='ФИО получателя'; exx.activeworkbook.activesheet.cells.item[1,6]:='№ магазина'; exx.activeworkbook.activesheet.cells.item[1,7]:='Дата выдачи'; exx.activeworkbook.activesheet.cells.item[1,8]:='Выдача карты'; exx.activeworkbook.activesheet.cells.item[1,1].ColumnWidth := 5; exx.activeworkbook.activesheet.cells.item[1,2].ColumnWidth := 20; exx.activeworkbook.activesheet.cells.item[1,3].ColumnWidth := 20; exx.activeworkbook.activesheet.cells.item[1,4].ColumnWidth := 20; exx.activeworkbook.activesheet.cells.item[1,5].ColumnWidth := 25; exx.activeworkbook.activesheet.cells.item[1,6].ColumnWidth := 9; exx.activeworkbook.activesheet.cells.item[1,7].ColumnWidth := 20; ////
gauge.MaxValue:=ado2.RecordCount; gauge.Visible:=true; ado2.First; //showmessage(datetostr(dates)+' '+datetostr(datepo)); for j:=1 to ado2.RecordCount do begin gauge.Value:=j; application.ProcessMessages; try ddd:=strtodate(ado2.FieldValues ['Дата_оформления']); except ddd:=strtodate('01.01.1980'); end; if (ddd>=dates) and (ddd<=datepo) then begin if ado.Locate('old',trim(ado2.FieldValues ['Номер_выданной_карты']),[locaseinsensitive]) then begin new:=''; try new:=chr(10)+ado.FieldValues ['new1']; except end; try new:=new+chr(10)+ado.FieldValues ['new2']; except end; try new:=new+chr(10)+ado.FieldValues ['new3']; except end; ex.activeworkbook.activesheet.cells.item[row,1].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,3].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,4].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,5].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,6].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,7].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,1]:=inttostr(npp); ex.activeworkbook.activesheet.cells.item[row,4]:=trim(new); ex.activeworkbook.activesheet.cells.item[row,2]:=ado2.FieldValues['Дата_оформления']; ex.activeworkbook.activesheet.cells.item[row,3]:=ado2.FieldValues['Тип_операции']; ex.activeworkbook.activesheet.cells.item[row,5]:=ado2.FieldValues['ФИО_получателя']; ex.activeworkbook.activesheet.cells.item[row,6]:=ado2.FieldValues['Номер_магазина']; ex.activeworkbook.activesheet.cells.item[row,7]:=ado2.FieldValues['Дата_выдачи']; inc(row);inc(npp); end else begin ///БРАК!!!!!!!!!!!!!!! brak:=true; exx.activeworkbook.activesheet.cells.item[row1,1].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[row1,2].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[row1,3].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[row1,4].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[row1,5].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[row1,6].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[row1,7].NumberFormat:='@'; exx.activeworkbook.activesheet.cells.item[row1,1]:=inttostr(npp1); exx.activeworkbook.activesheet.cells.item[row1,4]:=ado2.FieldValues ['Номер_выданной_карты']; exx.activeworkbook.activesheet.cells.item[row1,2]:=ado2.FieldValues['Дата_оформления']; exx.activeworkbook.activesheet.cells.item[row1,3]:=ado2.FieldValues['Тип_операции']; exx.activeworkbook.activesheet.cells.item[row1,5]:=ado2.FieldValues['ФИО_получателя']; exx.activeworkbook.activesheet.cells.item[row1,6]:=ado2.FieldValues['Номер_магазина']; exx.activeworkbook.activesheet.cells.item[row1,7]:=ado2.FieldValues['Дата_выдачи']; inc(row1);inc(npp1);
end; end; ado2.Next; end;
for y1:=1 to ex.ActiveSheet.UsedRange.rows.Count do begin ex.activeworkbook.activesheet.Rows[y1].HorizontalAlignment := 3; ex.activeworkbook.activesheet.Rows[y1].verticalAlignment := 2; for y2:=1 to ex.ActiveSheet.UsedRange.columns.Count do begin ex.activeworkbook.activesheet.Cells[y1,y2].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Cells[y1,y2].WrapText:=true; end; end; if brak=true then begin for y1:=1 to exx.ActiveSheet.UsedRange.rows.Count do begin exx.activeworkbook.activesheet.Rows[y1].HorizontalAlignment := 3; exx.activeworkbook.activesheet.Rows[y1].verticalAlignment := 2; for y2:=1 to exx.ActiveSheet.UsedRange.columns.Count do begin exx.activeworkbook.activesheet.Cells[y1,y2].Borders.lineStyle := 1; exx.activeworkbook.activesheet.Cells[y1,y2].WrapText:=true; end; end;end;
Ex.ActiveWorkbook.SaveAs(saver.filename); ex.application.quit; ex:=unassigned; if brak=true then Exx.ActiveWorkbook.SaveAs(strtr(uppercase(saver.filename),'.XLS','_brak.xls')); exx.application.quit; exx:=unassigned; gauge.Visible:=false; bsSkinMessage1.MessageDlg ('Готово!',mtinformation,[mbyes],0); end;
|
--------------------
There's nothing left but silent epitaphs.
|