Delphi控制Excel2000心得
一 使用动态创建的方法
首先创建 Excel 对象 使用ComObj: var ExcelApp: Variant; ExcelApp := CreateOleObject( Excel Application );
) 显示当前窗口 ExcelApp Visible := True;
) 更改 Excel 标题栏 ExcelApp Caption := 应用程序调用 Microsoft Excel ;
) 添加新工作簿 ExcelApp WorkBooks Add;
) 打开已存在的工作簿 ExcelApp WorkBooks Open( C:\Excel\Demo xls );
) 设置第 个工作表为活动工作表 ExcelApp WorkSheets[ ] Activate; 或 ExcelApp WorksSheets[ Sheet ] Activate;
) 给单元格赋值 ExcelApp Cells[ ] Value := 第一行第四列 ;
) 设置指定列的宽度(单位 字符个数) 以第一列为例 ExcelApp ActiveSheet Columns[ ] ColumnsWidth := ;
) 设置指定行的高度(单位 磅)( 磅= 厘米) 以第二行为例 ExcelApp ActiveSheet Rows[ ] RowHeight := / ; // 厘米
) 在第 行之前插入分页符 ExcelApp WorkSheets[ ] Rows[ ] PageBreak := ;
) 在第 列之前删除分页符 ExcelApp ActiveSheet Columns[ ] PageBreak := ;
) 指定边框线宽度 ExcelApp ActiveSheet Range[ B :D ] Borders[ ] Weight := ; 左 右 顶 底 斜( \ ) 斜( / )
) 清除第一行第四列单元格公式 ExcelApp ActiveSheet Cells[ ] ClearContents;
) 设置第一行字体属性 ExcelApp ActiveSheet Rows[ ] Font Name := 隶书 ; ExcelApp ActiveSheet Rows[ ] Font Color := clBlue; ExcelApp ActiveSheet Rows[ ] Font Bold := True; ExcelApp ActiveSheet Rows[ ] Font UnderLine := True;
) 进行页面设置
a 页眉 ExcelApp ActiveSheet PageSetup CenterHeader := 报表演示 ; b 页脚 ExcelApp ActiveSheet PageSetup CenterFooter := 第&P页 ; c 页眉到顶端边距 cm ExcelApp ActiveSheet PageSetup HeaderMargin := / ; d 页脚到底端边距 cm ExcelApp ActiveSheet PageSetup HeaderMargin := / ; e 顶边距 cm ExcelApp ActiveSheet PageSetup TopMargin := / ; f 底边距 cm ExcelApp ActiveSheet PageSetup BottomMargin := / ; g 左边距 cm ExcelApp ActiveSheet PageSetup LeftMargin := / ; h 右边距 cm ExcelApp ActiveSheet PageSetup RightMargin := / ; i 页面水平居中 ExcelApp ActiveSheet PageSetup CenterHorizontally := / ; j 页面垂直居中 ExcelApp ActiveSheet PageSetup CenterVertically := / ; k 打印单元格网线 ExcelApp ActiveSheet PageSetup PrintGridLines := True;
) 拷贝操作
a 拷贝整个工作表 ExcelApp ActiveSheet Used Range Copy; b 拷贝指定区域 ExcelApp ActiveSheet Range[ A :E ] Copy; c 从A 位置开始粘贴 ExcelApp ActiveSheet Range [ A ] PasteSpecial; d 从文件尾部开始粘贴 ExcelApp ActiveSheet Range PasteSpecial;
) 插入一行或一列 a ExcelApp ActiveSheet Rows[ ] Insert; b ExcelApp ActiveSheet Columns[ ] Insert;
) 删除一行或一列 a ExcelApp ActiveSheet Rows[ ] Delete; b ExcelApp ActiveSheet Columns[ ] Delete;
) 打印预览工作表 ExcelApp ActiveSheet PrintPreview;
) 打印输出工作表 ExcelApp ActiveSheet PrintOut;
) 工作表保存 if not ExcelApp ActiveWorkBook Saved then ExcelApp ActiveSheet PrintPreview;
) 工作表另存为 ExcelApp SaveAs( C:\Excel\Demo xls );
) 放弃存盘 ExcelApp ActiveWorkBook Saved := True;
) 关闭工作簿 ExcelApp WorkBooks Close;
) 退出 Excel ExcelApp Quit;
二 使用Delphi 控件方法 在Form中分别放入ExcelApplication ExcelWorkbook和ExcelWorksheet
) 打开Excel ExcelApplication Connect;
) 显示当前窗口 ExcelApplication Visible[ ]:=True;
) 更改 Excel 标题栏 ExcelApplication Caption := 应用程序调用 Microsoft Excel ;
) 添加新工作簿 ExcelWorkbook ConnectTo(ExcelApplication Workbooks Add(EmptyParam )); ) 添加新工作表 var Temp_Worksheet: _WorkSheet; begin Temp_Worksheet:=ExcelWorkbook WorkSheets Add(EmptyParam EmptyParam EmptyParam EmptyParam ) as _WorkSheet; ExcelWorkSheet ConnectTo(Temp_WorkSheet); End; ) 打开已存在的工作簿 ExcelApplication Workbooks Open (c:\a xls EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam EmptyParam )
) 设置第 个工作表为活动工作表 ExcelApplication WorkSheets[ ] Activate; 或 ExcelApplication WorksSheets[ Sheet ] Activate;
) 给单元格赋值 ExcelApplication Cells[ ] Value := 第一行第四列 ;
) 设置指定列的宽度(单位 字符个数) 以第一列为例 ExcelApplication ActiveSheet Columns[ ] ColumnsWidth := ;
) 设置指定行的高度(单位 磅)( 磅= 厘米) 以第二行为例 ExcelApplication ActiveSheet Rows[ ] RowHeight := / ; // 厘米
) 在第 行之前插入分页符 ExcelApplication WorkSheets[ ] Rows[ ] PageBreak := ;
) 在第 列之前删除分页符 ExcelApplication ActiveSheet Columns[ ] PageBreak := ;
) 指定边框线宽度 ExcelApplication ActiveSheet Range[ B :D ] Borders[ ] Weight := ; 左 右 顶 底 斜( \ ) 斜( / )
) 清除第一行第四列单元格公式 ExcelApplication ActiveSheet Cells[ ] ClearContents;
) 设置第一行字体属性 ExcelApplication ActiveSheet Rows[ ] Font Name := 隶书 ; ExcelApplication ActiveSheet Rows[ ] Font Color := clBlue; ExcelApplication ActiveSheet Rows[ ] Font Bold := True; ExcelApplication ActiveSheet Rows[ ] Font UnderLine := True;
) 进行页面设置 a 页眉 ExcelApplication ActiveSheet PageSetup CenterHeader := 报表演示 ; b 页脚 ExcelApplication ActiveSheet PageSetup CenterFooter := 第&P页 ; c 页眉到顶端边距 cm ExcelApplication ActiveSheet PageSetup HeaderMargin := / ; d 页脚到底端边距 cm ExcelApplication ActiveSheet PageSetup HeaderMargin := / ; e 顶边距 cm ExcelApplication ActiveSheet PageSetup TopMargin := / ; f 底边距 cm ExcelApplication ActiveSheet PageSetup BottomMargin := / ; g 左边距 cm ExcelApplication ActiveSheet PageSetup LeftMargin := / ; h 右边距 cm ExcelApplication ActiveSheet PageSetup RightMargin := / ; i 页面水平居中 ExcelApplication ActiveSheet PageSetup CenterHorizontally := / ; j 页面垂直居中 ExcelApplication ActiveSheet PageSetup CenterVertically := / ; k 打印单元格网线 ExcelApplication ActiveSheet PageSetup PrintGridLines := True;
) 拷贝操作
a 拷贝整个工作表 ExcelApplication ActiveSheet Used Range Copy;
b 拷贝指定区域 ExcelApplication ActiveSheet Range[ A :E ] Copy;
c 从A 位置开始粘贴 ExcelApplication ActiveSheet Range [ A ] PasteSpecial;
d 从文件尾部开始粘贴 ExcelApplication ActiveSheet Range PasteSpecial;
) 插入一行或一列 a ExcelApplication ActiveSheet Rows[ ] Insert; b ExcelApplication ActiveSheet Columns[ ] Insert;
) 删除一行或一列 a ExcelApplication ActiveSheet Rows[ ] Delete; b ExcelApplication ActiveSheet Columns[ ] Delete;
) 打印预览工作表 ExcelApplication ActiveSheet PrintPreview;
) 打印输出工作表 ExcelApplication ActiveSheet PrintOut;
) 工作表保存 if not ExcelApplication ActiveWorkBook Saved then ExcelApplication ActiveSheet PrintPreview;
) 工作表另存为 ExcelApplication SaveAs( C:\Excel\Demo xls );
) 放弃存盘 ExcelApplication ActiveWorkBook Saved := True;
) 关闭工作簿 ExcelApplication WorkBooks Close;
) 退出 Excel ExcelApplication Quit; ExcelApplication Disconnect;
三 使用Delphi 控制Excle二维图 在Form中分别放入ExcelApplication ExcelWorkbook和ExcelWorksheet var asheet achart range:variant;
)选择当第一个工作薄第一个工作表 asheet :=ExcelApplication Workbooks[ ] Worksheets[ ];
)增加一个二维图 achart:=asheet chartobjects add( );
)选择二维图的形态 achart chart charttype:= ;
)给二维图赋值 series:=achart chart seriescollection; range:=sheet !r c :r c ; series add(range true); )加上二维图的标题 achart Chart HasTitle:=True; achart Chart ChartTitle Characters Text:= Excle二维图
)改变二维图的标题字体大小 achart Chart ChartTitle Font size:= ;
)给二维图加下标说明 achart Chart Axes(xlCategory xlPrimary) HasTitle := True; achart Chart Axes(xlCategory xlPrimary) AxisTitle Characters Text := 下标说明 ;
)给二维图加左标说明 achart Chart Axes(xlValue xlPrimary) HasTitle := True; achart Chart Axes(xlValue xlPrimary) AxisTitle Characters Text := 左标说明 ;
)给二维图加右标说明 achart Chart Axes(xlValue xlSecondary) HasTitle := True; achart Chart Axes(xlValue xlSecondary) AxisTitle Characters Text := 右标说明 ;
)改变二维图的显示区大小 achart Chart PlotArea Left := ; achart Chart PlotArea Width := ; achart Chart PlotArea Height := ;
lishixinzhi/Article/program/Delphi/201311/25063