其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

Delphi控制Excel2000心得


发布日期:2020年01月09日
 
Delphi控制Excel2000心得

使用动态创建的方法

首先创建 Excel 对象使用ComObj:

var ExcelApp: Variant;

ExcelApp := CreateOleObject( ExcelApplication );

) 显示当前窗口

ExcelAppVisible := True;

) 更改 Excel 标题栏

ExcelAppCaption := 应用程序调用 Microsoft Excel;

) 添加新工作簿

ExcelAppWorkBooksAdd;

) 打开已存在的工作簿

ExcelAppWorkBooksOpen( C:\Excel\Demoxls );

) 设置第个工作表为活动工作表

ExcelAppWorkSheets[]Activate; 或 ExcelAppWorksSheets[ Sheet ]Activate;

) 给单元格赋值

ExcelAppCells[]Value := 第一行第四列;

) 设置指定列的宽度(单位字符个数)以第一列为例

ExcelAppActiveSheetColumns[]ColumnsWidth := ;

) 设置指定行的高度(单位磅)(磅=厘米)以第二行为例

ExcelAppActiveSheetRows[]RowHeight := /; // 厘米

) 在第行之前插入分页符

ExcelAppWorkSheets[]Rows[]PageBreak := ;

) 在第列之前删除分页符

ExcelAppActiveSheetColumns[]PageBreak := ;

) 指定边框线宽度

ExcelAppActiveSheetRange[ B:D ]Borders[]Weight := ;

斜( \ ) 斜( / )

) 清除第一行第四列单元格公式

ExcelAppActiveSheetCells[]ClearContents;

) 设置第一行字体属性

ExcelAppActiveSheetRows[]FontName := 隶书;

ExcelAppActiveSheetRows[]FontColor := clBlue;

ExcelAppActiveSheetRows[]FontBold := True;

ExcelAppActiveSheetRows[]FontUnderLine := True;

) 进行页面设置

a页眉

ExcelAppActiveSheetPageSetupCenterHeader := 报表演示;

b页脚

ExcelAppActiveSheetPageSetupCenterFooter := 第&P页;

c页眉到顶端边距cm

ExcelAppActiveSheetPageSetupHeaderMargin := /;

d页脚到底端边距cm

ExcelAppActiveSheetPageSetupHeaderMargin := /;

e顶边距cm

ExcelAppActiveSheetPageSetupTopMargin := /;

f底边距cm

ExcelAppActiveSheetPageSetupBottomMargin := /;

g左边距cm

ExcelAppActiveSheetPageSetupLeftMargin := /;

h右边距cm

ExcelAppActiveSheetPageSetupRightMargin := /;

i页面水平居中

ExcelAppActiveSheetPageSetupCenterHorizontally := /;

j页面垂直居中

ExcelAppActiveSheetPageSetupCenterVertically := /;

k打印单元格网线

ExcelAppActiveSheetPageSetupPrintGridLines := True;

) 拷贝操作

a拷贝整个工作表

ExcelAppActiveSheetUsedRangeCopy;

b拷贝指定区域

ExcelAppActiveSheetRange[ A:E ]Copy;

c从A位置开始粘贴

ExcelAppActiveSheetRange[ A ]PasteSpecial;

d从文件尾部开始粘贴

ExcelAppActiveSheetRangePasteSpecial;

) 插入一行或一列

a ExcelAppActiveSheetRows[]Insert;

b ExcelAppActiveSheetColumns[]Insert;

) 删除一行或一列

a ExcelAppActiveSheetRows[]Delete;

b ExcelAppActiveSheetColumns[]Delete;

) 打印预览工作表

ExcelAppActiveSheetPrintPreview;

) 打印输出工作表

ExcelAppActiveSheetPrintOut;

) 工作表保存

if not ExcelAppActiveWorkBookSaved then ExcelAppActiveSheetPrintPreview;

) 工作表另存为

ExcelAppSaveAs( C:\Excel\Demoxls );

) 放弃存盘

ExcelAppActiveWorkBookSaved := True;

) 关闭工作簿

ExcelAppWorkBooksClose;

) 退出 Excel

ExcelAppQuit;

使用Delphi 控件方法

在Form中分别放入ExcelApplication ExcelWorkbook和ExcelWorksheet

) 打开Excel

ExcelApplicationConnect;

) 显示当前窗口

ExcelApplicationVisible[]:=True;

) 更改 Excel 标题栏

ExcelApplicationCaption := 应用程序调用 Microsoft Excel;

) 添加新工作簿

ExcelWorkbookConnectTo(ExcelApplicationWorkbooksAdd(EmptyParam));

) 添加新工作表

var Temp_Worksheet: _WorkSheet;

begin

Temp_Worksheet:=ExcelWorkbook

WorkSheetsAdd(EmptyParamEmptyParamEmptyParamEmptyParam) as _WorkSheet;

ExcelWorkSheetConnectTo(Temp_WorkSheet);

End;

) 打开已存在的工作簿

ExcelApplicationWorkbooksOpen (c:\axls EmptyParamEmptyParamEmptyParamEmptyParam

EmptyParamEmptyParamEmptyParamEmptyParamEmptyParamEmptyParamEmptyParamEmptyParam)

) 设置第个工作表为活动工作表

ExcelApplicationWorkSheets[]Activate; 或 ExcelApplicationWorksSheets[ Sheet ]Activate;

) 给单元格赋值

ExcelApplicationCells[]Value := 第一行第四列;

) 设置指定列的宽度(单位字符个数)以第一列为例

ExcelApplicationActiveSheetColumns[]ColumnsWidth := ;

) 设置指定行的高度(单位磅)(磅=厘米)以第二行为例

ExcelApplicationActiveSheetRows[]RowHeight := /; // 厘米

) 在第行之前插入分页符

ExcelApplicationWorkSheets[]Rows[]PageBreak := ;

) 在第列之前删除分页符

ExcelApplicationActiveSheetColumns[]PageBreak := ;

) 指定边框线宽度

ExcelApplicationActiveSheetRange[ B:D ]Borders[]Weight := ;

斜( \ ) 斜( / )

) 清除第一行第四列单元格公式

ExcelApplicationActiveSheetCells[]ClearContents;

) 设置第一行字体属性

ExcelApplicationActiveSheetRows[]FontName := 隶书;

ExcelApplicationActiveSheetRows[]FontColor := clBlue;

ExcelApplicationActiveSheetRows[]FontBold := True;

ExcelApplicationActiveSheetRows[]FontUnderLine := True;

) 进行页面设置

a页眉

ExcelApplicationActiveSheetPageSetupCenterHeader := 报表演示;

b页脚

ExcelApplicationActiveSheetPageSetupCenterFooter := 第&P页;

c页眉到顶端边距cm

ExcelApplicationActiveSheetPageSetupHeaderMargin := /;

d页脚到底端边距cm

ExcelApplicationActiveSheetPageSetupHeaderMargin := /;

e顶边距cm

ExcelApplicationActiveSheetPageSetupTopMargin := /;

f底边距cm

ExcelApplicationActiveSheetPageSetupBottomMargin := /;

g左边距cm

ExcelApplicationActiveSheetPageSetupLeftMargin := /;

h右边距cm

ExcelApplicationActiveSheetPageSetupRightMargin := /;

i页面水平居中

ExcelApplicationActiveSheetPageSetupCenterHorizontally := /;

j页面垂直居中

ExcelApplicationActiveSheetPageSetupCenterVertically := /;

k打印单元格网线

ExcelApplicationActiveSheetPageSetupPrintGridLines := True;

) 拷贝操作

a拷贝整个工作表

ExcelApplicationActiveSheetUsedRangeCopy;

b拷贝指定区域

ExcelApplicationActiveSheetRange[ A:E ]Copy;

c从A位置开始粘贴

ExcelApplicationActiveSheetRange[ A ]PasteSpecial;

d从文件尾部开始粘贴

ExcelApplicationActiveSheetRangePasteSpecial;

) 插入一行或一列

a ExcelApplicationActiveSheetRows[]Insert;

b ExcelApplicationActiveSheetColumns[]Insert;

) 删除一行或一列

a ExcelApplicationActiveSheetRows[]Delete;

b ExcelApplicationActiveSheetColumns[]Delete;

) 打印预览工作表

ExcelApplicationActiveSheetPrintPreview;

) 打印输出工作表

ExcelApplicationActiveSheetPrintOut;

) 工作表保存

if not ExcelApplicationActiveWorkBookSaved then ExcelApplicationActiveSheetPrintPreview;

) 工作表另存为

ExcelApplicationSaveAs( C:\Excel\Demoxls );

) 放弃存盘

ExcelApplicationActiveWorkBookSaved := True;

) 关闭工作簿

ExcelApplicationWorkBooksClose;

) 退出 Excel

ExcelApplicationQuit;

ExcelApplicationDisconnect;

使用Delphi 控制Excle二维图

在Form中分别放入ExcelApplication ExcelWorkbook和ExcelWorksheet var asheetachart range:variant;

)选择当第一个工作薄第一个工作表

asheet:=ExcelApplicationWorkbooks[]Worksheets[];

)增加一个二维图

achart:=asheetchartobjectsadd();

)选择二维图的形态

achartchartcharttype:=;

)给二维图赋值

series:=achartchartseriescollection;

range:=sheet!rc:rc;

seriesadd(rangetrue);

)加上二维图的标题

achartChartHasTitle:=True;

achartChartChartTitleCharactersText:= Excle二维图

)改变二维图的标题字体大小

achartChartChartTitleFontsize:=;

)给二维图加下标说明

achartChartAxes(xlCategory xlPrimary)HasTitle := True;

achartChartAxes(xlCategory xlPrimary)AxisTitleCharactersText := 下标说明;

)给二维图加左标说明

achartChartAxes(xlValue xlPrimary)HasTitle := True;

achartChartAxes(xlValue xlPrimary)AxisTitleCharactersText := 左标说明;

)给二维图加右标说明

achartChartAxes(xlValue xlSecondary)HasTitle := True;

achartChartAxes(xlValue xlSecondary)AxisTitleCharactersText := 右标说明;

)改变二维图的显示区大小

achartChartPlotAreaLeft := ;

achartChartPlotAreaWidth := ;

achartChartPlotAreaHeight := ;

)给二维图坐标轴加上说明

achartchartseriescollection[]NAME:=坐标轴说明;

EMail: sunxiyu@gdsoftnet

wuxy@gdsoftnet

               

上一篇:Delphi 中动态链接库(dll)的建立和使用[1]

下一篇:Delphi中票据凭证的精确打印