熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi控制Excel2000心得

2013-11-23 17:46:49  來源: Delphi編程 

  使用動態創建的方法

  首先創建 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
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.