Excel多工作簿例程

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComObj, StdCtrls, OleServer, ExcelXP;

type

TForm1 = class(TForm)

Button1: TButton;

SaveDialog1: TSaveDialog;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

Var

ObjExcel,MyWorkBook,mysheets,mysheet,tmpCells:variant;

SheetCount,i,j,k:integer;

begin

SheetCount:=3;

ObjExcel:=CreateOleObject('Excel.application'); //创建Excel应用

ObjExcel.SheetsInNewWorkbook:=SheetCount; //确定工作簿中表的数量

ObjExcel.VisiBle:=True; //生成期间Excel是否显示

MyWorkBook:=ObjExcel.WorkBooks.add; //填加新的工作簿

Mysheets:= MyWorkBook.worksheets;

for i:=1 to SheetCount do begin

Mysheet:=Mysheets.Item[i];

MySheet.Name:='例表'+inttostr(i);

MySheet.Range['A1:k2'].HorizontalAlignment:=xlCenter; //设置单元格A1到K2水平对齐方式

MySheet.Range['A1:k2'].Font.Bold:=True; //单元格A1到k1 字体加粗

MySheet.Rows[1].Font.Bold:=True; //设置一行字体格式

MySheet.Columns[3].ColumnWidth:=20; //设置一列宽度(单位:字符)

MySheet.Range['C1'].HorizontalAlignment:=xlCenter; //设置单元格C1水平对齐方式

MySheet.Cells(1,1):='统计表';

MySheet.Range['A1'].Font.Color:=rgb(255,0,0); //改变A1单元格字体颜色,等价于 MySheet.Cells.Item[1,1].Font.Color:=RGB(0,128,0);

MySheet.Range['A1:k1'].Merge; //合并单元格A2-F2

Mysheet.Cells(2,1):='工程编号'; //单元格赋值 等价于 MySheet.Cells.Item[2,1].value:='工作令号';

Mysheet.Cells(2,2):='工程名称'; //单元格赋值

Mysheet.Cells(2,3):='开工日期'; //单元格赋值

Mysheet.Cells(2,4):='完工日期'; //单元格赋值

Mysheet.Cells(2,5):='经办人'; //单元格赋值

Mysheet.Cells(2,6):='数量'; //单元格赋值

Mysheet.Cells(2,7):='单位'; //单元格赋值

Mysheet.Cells(2,8):='工程内容'; //单元格赋值

Mysheet.Cells(2,9):='预算'; //单元格赋值

Mysheet.Cells(2,10):='决算'; //单元格赋值

Mysheet.Cells(2,11):='备注'; //单元格赋值

// MySheet.Range['A1:k2'].select; //选择单元格A2到F2

for j:=3 to 10 do begin //填写数据

if odd(j) then MySheet.Rows[j].Font.Color:=RGB(255,0,0) else MySheet.Rows[j].Font.Color:=RGB(0,0,255); //改变一行的字符颜色

for k:=1 to 9 do begin

MySheet.Cells.Item[j,k].value:='表:'+inttostr(i)+' 第'+inttostr(j)+'行 第'+inttostr(k)+'列';

// if odd(j) then MySheet.Cells.Item[j,k].Font.Color:=RGB(255,0,0) else MySheet.Cells.Item[j,k].Font.Color:=RGB(0,0,255); //改变指定单元格内字符颜色

end;

end;

end;

//保存文件

SaveDialog1.FileName:='Delphi 生成Excel表格';

SaveDialog1.Filter:='Excel 表格(*.xls)|*.xls';

if SaveDialog1.Execute then

MyWorkBook.SaveAs(SaveDialog1.FileName) //保存文件

else

MyWorkBook.Saved:=True;

ObjExcel.Quit; //退出Excel应用程序

end;

end.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有