一使用動態創建的方法
首先創建 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
From:http://tw.wingwit.com/Article/program/Delphi/201311/25063.html