Delphi控制Excel自動產生報表

來源:互聯網
上載者:User
   Delphi控制Excel的方法

  1 建立Excel檔案

  要在Delphi中控制Excel,就必須用到OLE自動化。現在一般採用OLE2來建立OLE對象,當啟用一個OLE對象時,伺服器程式僅在容器程式內部啟用,這就是所謂的“就地啟用”(in-place activation)。
建立Excel檔案時,先建立一個OLE對象,然後在對象中建立工作表worksheet,如函數createExcel所示:

function createExcel:variant;
var
v:variant;
sheet:variant;
begin
v:=createoleobject('Excel.Application');//建立OLE對象
v.visible:=true;
v.workbooks.add(-4167); //添加工作表
v.workbooks[1].sheets[1].name:='test';
sheet:=v.workbooks[1].sheets['test'];
return v;
end;

  2 資料表格控制

  Excel表格的控制,主要包括資料的匯入、修改;儲存格的合并、邊框的控制;表格的複製、粘貼等。當報表格式一定的情況下,表格的複製、粘貼顯得尤為重要,這樣,可以先製作一個檔案模板,然後按照實際需要輸出多頁報表即可。

  (1)資料的匯入(importData)

procedure importData;
var
I,j:integer;
v:variant;
begin
v:=createExcel; //建立Excel檔案test
for I:=0 to maxcolumn do
begin
for j:=0 to maxrow do
v.workbooks[1].sheets[1].cells[I,j]:=I*j; //匯入資料
end;
end;

  (2)儲存格的合并、邊框的控制(lineStylecontrol)

  儲存格的合并,是在選定合并範圍的情況下進行的。邊框控制可以操作邊框線條的是否顯示。其他方式的控制,可以仿照下面過程進行。

procedure lineStylecontrol;
var
v,sheet,range:variant;
begin
v:=createExecl;
sheet:= v.workbooks[1].sheets[1];
range:=sheet.range[sheet.cells[1,1],sheet.cells[39,30]];//選定表格
range.select;
range.merge; //合併儲存格
range.borders.linestyle:=xlcontinuous; //置邊框線可見
range.font.size:=9; //改變表格內文本字型大小
end;

  (3)表格的複製與粘貼(copyandPaste)

procedure copyandPaste;
var
v,sheet,range:variant;
begin
v:=createExecl;
sheet:= v.workbooks[1].sheets[1];
range:=sheet.range[sheet.cells[1,1],sheet.cells[39,30]];
range.select; //選定要複製的表格
range.copy; //複製選定的表格
sheet.range[sheet.cells[40,1],sheet.cells[40,1]].select; //選擇要粘貼的位置
sheet.paste; //粘貼表格
end;

  3 檔案的儲存

  檔案儲存是在建立檔案的基礎上進行的,過程saveFile說明了檔案儲存過程中應該注意的問題:

procedure saveFile;
var
sheet,v:variant;
begin
v:=createExcel;
if savedialog.execute then
begin
v.workbooks[1].saveas(savedialog.FileName);//儲存檔案
v.workbooks[1].close; //關閉工作表
v.quit; //關閉Excel
v := unassigned;
end;
end;

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.