
Yersinia pestis
   
Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი
Репутация: нет Всего: 130
|
Поищи инфу о работе с ADO-таблицами - как вносить инфу, искать и т.п. Если есть опыт работы с базами данных, к примеру, на ФоксПро, то понять будет легче. Отчёт в Ворд - вот я привёл пример. В Excel - тебе comtat обещал. Могу выслать на мыло примеры с диска, который прилагался к книге "Работа в Дельфи с MsOffice" (как-то там). Нужно? В архиве около 3 мегов получилось. Ну и вот ещё, мой вывод в Excel: Код | procedure tform1.print_ceh(prosm:boolean);//печать для цеха var VExcel: Variant; i1,i2,row,col:integer; begin try VExcel := GetActiveOleObject('Excel.Application'); bsSkinMessage1.MessageDlg ('Закройте EXCEL и повторите заново!',mtinformation,[mbyes],0); exit; except end; label26.Visible:=true; application.ProcessMessages; ex:=createoleobject('excel.application'); ex.visible:=false; ex.workbooks.add; 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;
//ex.activeworkbook.activesheet.Rows[1].HorizontalAlignment := 3; ex.activeworkbook.activesheet.cells.item[1,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,4].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[1,1].ColumnWidth := 25; ex.activeworkbook.activesheet.cells.item[1,2].ColumnWidth := 15; ex.activeworkbook.activesheet.cells.item[1,3].ColumnWidth := 15; ex.activeworkbook.activesheet.cells.item[1,4].ColumnWidth := 20; ex.activeworkbook.activesheet.Cells[1,4].Borders.lineStyle := 1; ex.activeworkbook.activesheet.cells.item[1,1]:='Задание на выполнение ЗАКАЗА №'; ex.activeworkbook.activesheet.cells.item[1,2]:=label14.Caption; ex.activeworkbook.activesheet.cells.item[1,2].interior.color:=clsilver; ex.activeworkbook.activesheet.cells.item[1,3]:='Код рассылки наш/клиента:'; ex.activeworkbook.activesheet.cells.item[1,4]:=edit7.Text;
//ex.activeworkbook.activesheet.Rows[2].HorizontalAlignment := 3; ex.activeworkbook.activesheet.cells.item[2,1]:='Дата:'; ex.activeworkbook.activesheet.cells.item[2,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[2,2]:=datetostr(dater3.Date); ex.activeworkbook.activesheet.cells.item[2,3]:='Менеджер:'; ex.activeworkbook.activesheet.cells.item[2,4]:=label15.Caption;
//ex.activeworkbook.activesheet.Rows[3].HorizontalAlignment := 1; ex.activeworkbook.activesheet.Rows[3].verticalAlignment := 2; ex.activeworkbook.activesheet.Range['B3:H3'].Merge; ex.activeworkbook.activesheet.cells.item[3,1]:='Название компании:'; ex.activeworkbook.activesheet.cells.item[3,2]:=sko2kav (label13.Caption);
ex.activeworkbook.activesheet.cells.item[5,1]:='Количество отправлений:';ex.activeworkbook.activesheet.cells.item[5,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[5,2]:=edit6.Text; ex.activeworkbook.activesheet.cells.item[6,1]:='Вид почтового отправления:'; ex.activeworkbook.activesheet.cells.item[6,2]:=label22.Caption; ex.activeworkbook.activesheet.cells.item[7,1]:='Вес (в гр):';ex.activeworkbook.activesheet.cells.item[7,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[7,2]:=label23.Caption; ex.activeworkbook.activesheet.cells.item[8,1]:='Обратный адрес/наш, заказчика:'; ex.activeworkbook.activesheet.cells.item[8,2]:=edit8.Text; ex.activeworkbook.activesheet.cells.item[9,1]:='Адреса на этикетках, на бумаге, на листе...'; ex.activeworkbook.activesheet.cells.item[9,2]:=edit9.Text; ex.activeworkbook.activesheet.cells.item[10,1]:='Совмещение персонализации/да, нет:'; ex.activeworkbook.activesheet.cells.item[10,2]:=edit10.Text; ex.activeworkbook.sheets[1].Cells[5,1].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[5,2].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[6,1].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[6,2].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[7,1].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[7,2].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[8,1].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[8,2].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[9,1].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[9,2].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[10,1].Borders.lineStyle := 1; ex.activeworkbook.sheets[1].Cells[10,2].Borders.lineStyle := 1;
ex.activeworkbook.activesheet.cells.item[12,1]:='КОНВЕРТ'; ex.activeworkbook.activesheet.Rows[12].Font.Bold := True; ex.activeworkbook.activesheet.Rows[13].Font.Bold := True; ex.activeworkbook.activesheet.cells.item[13,7].ColumnWidth := 15; ex.activeworkbook.activesheet.cells.item[13,4].ColumnWidth := 15; ex.activeworkbook.activesheet.Rows[13].HorizontalAlignment := 3; ex.activeworkbook.activesheet.Cells[13,1].Borders[1].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,1].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,2].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,3].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,4].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,5].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,6].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,7].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,7].Borders[2].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[13,1].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,2].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,3].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,4].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,5].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,6].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,7].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,1].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,2].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,3].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,4].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,5].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[13,6].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Rows[13].verticalAlignment := 2; ex.activeworkbook.activesheet.cells.item[13,1]:='Название'; ex.activeworkbook.activesheet.cells.item[13,2]:='Тираж'; ex.activeworkbook.activesheet.cells.item[13,3]:='Собств./заказчика'; ex.activeworkbook.activesheet.cells.item[13,4]:='Вид/формат'; ex.activeworkbook.activesheet.cells.item[13,5]:='Дата привоза материала'; ex.activeworkbook.activesheet.cells.item[13,6]:='Кто привозит материал'; ex.activeworkbook.activesheet.cells.item[13,7]:='Примечание'; ex.activeworkbook.activesheet.cells.item[14,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[14,5].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[14,1]:=ado9.FieldValues ['nazv']; ex.activeworkbook.activesheet.cells.item[14,2]:=ado9.FieldValues ['tirazh']; ex.activeworkbook.activesheet.cells.item[14,3]:=ado9.FieldValues ['chey']; ex.activeworkbook.activesheet.cells.item[14,4]:=ado9.FieldValues ['vid']; ex.activeworkbook.activesheet.cells.item[14,5]:=ado9.FieldValues ['data_priv']; ex.activeworkbook.activesheet.cells.item[14,6]:=ado9.FieldValues ['kto_priv']; ex.activeworkbook.activesheet.cells.item[14,7]:=ado9.FieldValues ['prim']; ex.activeworkbook.activesheet.Cells[14,1].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,2].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,3].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,4].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,5].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,6].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,7].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,1].Borders[1].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,7].Borders[2].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[14,1].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[14,2].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[14,3].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[14,4].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[14,5].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[14,6].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.cells.item[16,1]:='ВЛОЖЕНИЯ'; ex.activeworkbook.activesheet.Rows[16].Font.Bold := True; ex.activeworkbook.activesheet.Rows[17].Font.Bold := True; ex.activeworkbook.activesheet.cells.item[17,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,3].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,4].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,5].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,6].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,7].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,8].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,9].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[17,10].NumberFormat:='@'; ex.activeworkbook.activesheet.Rows[17].verticalAlignment := 2; ex.activeworkbook.activesheet.Rows[17].HorizontalAlignment := 3; ex.activeworkbook.activesheet.cells.item[17,1]:='Название'; ex.activeworkbook.activesheet.cells.item[17,2]:='Тираж'; ex.activeworkbook.activesheet.cells.item[17,3]:='Порядок вложения'; ex.activeworkbook.activesheet.cells.item[17,4]:='Формат'; ex.activeworkbook.activesheet.cells.item[17,5]:='Обозначение бланка'; ex.activeworkbook.activesheet.cells.item[17,6]:='Название строки фальцовки'; ex.activeworkbook.activesheet.cells.item[17,7]:='Совмещение персонализации'; ex.activeworkbook.activesheet.cells.item[17,8]:='Дата привоза материала'; ex.activeworkbook.activesheet.cells.item[17,9]:='Кто привозит материал'; ex.activeworkbook.activesheet.cells.item[17,10]:='Примечание'; ex.activeworkbook.activesheet.Cells[17,1].Borders[1].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,1].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,2].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,3].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,4].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,5].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,6].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,7].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,8].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,9].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,10].Borders[3].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,10].Borders[2].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[17,1].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,2].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,3].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,4].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,5].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,6].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,7].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,8].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,9].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,10].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,1].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,2].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,3].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,4].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,5].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,6].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,7].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,8].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[17,9].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.cells.item[17,10].ColumnWidth := 15; ex.activeworkbook.activesheet.cells.item[17,6].ColumnWidth := 10;
row:=18; ado13.First; for i1:=1 to ado13.RecordCount do begin ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,8].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,1]:=ado13.FieldValues ['nazv']; ex.activeworkbook.activesheet.cells.item[row,2]:=ado13.FieldValues ['tirazh']; ex.activeworkbook.activesheet.cells.item[row,3]:=ado13.FieldValues ['por_vlozh']; ex.activeworkbook.activesheet.cells.item[row,4]:=ado13.FieldValues ['format']; ex.activeworkbook.activesheet.cells.item[row,5]:=ado13.FieldValues ['obozn_blan']; ex.activeworkbook.activesheet.cells.item[row,6]:=ado13.FieldValues ['nazv_fal']; ex.activeworkbook.activesheet.cells.item[row,7]:=ado13.FieldValues ['sovm_pers']; ex.activeworkbook.activesheet.cells.item[row,8]:=ado13.FieldValues ['data_priv']; ex.activeworkbook.activesheet.cells.item[row,9]:=ado13.FieldValues ['kto_priv']; ex.activeworkbook.activesheet.cells.item[row,10]:=ado13.FieldValues ['prim']; ex.activeworkbook.activesheet.Cells[row,1].Borders[1].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,10].Borders[2].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,1].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,2].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,3].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,4].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,5].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,6].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,7].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,8].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,9].Borders[2].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,1].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,2].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,3].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,4].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,5].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,6].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,7].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,8].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,9].Borders[4].lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,10].Borders[4].lineStyle := 1; inc(row); ado13.Next; end;
dec(row); ex.activeworkbook.activesheet.Cells[row,1].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,2].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,3].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,4].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,5].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,6].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,7].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,8].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,9].Borders[4].lineStyle := xldouble; ex.activeworkbook.activesheet.Cells[row,10].Borders[4].lineStyle := xldouble;
inc(row,2); ex.activeworkbook.activesheet.Rows[row].Font.Bold := True; ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,1]:='Планируемые сроки упаковки:'; ex.activeworkbook.activesheet.cells.item[row,2]:=ado15.FieldValues ['srok_upak']; ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1; inc(row); ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Rows[row].Font.Bold := True; ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,1]:='Планируемые сроки отправки Заказчика в днях:'; ex.activeworkbook.activesheet.cells.item[row,2]:=ado15.FieldValues ['srok_otpr'];
inc(row,2); ex.activeworkbook.activesheet.cells.item[row,1]:='По факту:'; ex.activeworkbook.activesheet.Rows[row].Font.Bold := True; inc(row); ex.activeworkbook.activesheet.Rows[row].verticalAlignment := 2; ex.activeworkbook.activesheet.Rows[row].HorizontalAlignment := 3; ex.activeworkbook.activesheet.Rows[row].Font.Bold := True; 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,1]:='Дата'; ex.activeworkbook.activesheet.cells.item[row,2]:='Количество упакованного'; ex.activeworkbook.activesheet.cells.item[row,3]:='Количество на маркировке'; ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,3].Borders.lineStyle := 1; inc(row);
ado16.First; for i1:=1 to ado16.RecordCount do begin ex.activeworkbook.activesheet.cells.item[row,1].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@'; ex.activeworkbook.activesheet.cells.item[row,3].NumberFormat:='@'; try ex.activeworkbook.activesheet.cells.item[row,1]:=datetostr(ado16.FieldValues ['data']); except end; ex.activeworkbook.activesheet.cells.item[row,2]:=ado16.FieldValues ['kolvo_upak']; ex.activeworkbook.activesheet.cells.item[row,3]:=ado16.FieldValues ['kolvo_mark']; ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1; ex.activeworkbook.activesheet.Cells[row,3].Borders.lineStyle := 1; inc(row); ado16.Next; end;
row:=ex.ActiveSheet.UsedRange.Rows.Count; col:=ex.ActiveSheet.UsedRange.Columns.Count; for i1:=1 to row do begin ex.activeworkbook.activesheet.Rows[i1].Font.Size := 8; for i2:=1 to col do begin ex.activeworkbook.activesheet.Cells[i1,i2].WrapText:=true; end; end;
label26.Visible:=false; Ex.DisplayAlerts:=False; //Ex.ActiveWorkBook.Printout; if prosm=true then begin ex.visible:=true;ex.ActiveWorkBook.activesheet.Printpreview;end else Ex.ActiveWorkBook.Printout; //Ex.ActiveWorkbook.SaveAs(extractfilepath(application.ExeName)+'temp.xls'); ex.application.quit; ex:=unassigned;
end;
|
--------------------
There's nothing left but silent epitaphs.
|