Delphi控制Excel

Delphi控制Excel
Delphi控制Excel

Delphi控制Excel

===================

一.使用動態創建的方法

首先創建 Excel 對象,使用ComObj:

var ExcelApp: Variant;

ExcelApp := CreateOleObject( 'Excel.Application' );

1) 顯示當前窗口:

ExcelApp.Visible := True;

2) 更改 Excel 標題欄:

ExcelApp.Caption := '應用程序調用 Microsoft Excel';

3) 添加新工作簿:

ExcelApp.WorkBooks.Add;

4) 打開已存在的工作簿:

ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );

5) 設置第2個工作表為活動工作表:

ExcelApp.WorkSheets[2].Activate;

ExcelApp.WorksSheets[ 'Sheet2' ].Activate;

6) 給單元格賦值:

ExcelApp.Cells[1,4].Value := '第一行第四列';

7) 設置指定列的寬度(單位:字符個數),以第一列為例:

ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;

8) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米

9) 在第8行之前插入分頁符:

ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;

10) 在第8列之前刪除分頁符:

ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;

11) 指定邊框線寬度:

ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;

1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )

12) 清除第一行第四列單元格公式:

ExcelApp.ActiveSheet.Cells[1,4].ClearContents;

13) 設置第一行字體屬性:

ExcelApp.ActiveSheet.Rows[1]https://www.360docs.net/doc/109701194.html, := '隸書';

ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;

ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;

ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;

14) 進行頁面設置:

a.頁眉:

ExcelApp.ActiveSheet.PageSetup.CenterHeader := '報表演示';

b.頁腳:

ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P頁';

c.頁眉到頂端邊距2cm:

ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;

d.頁腳到底端邊距3cm:

ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;

e.頂邊距2cm:

ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;

f.底邊距2cm:

ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;

g.左邊距2cm:

ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;

h.右邊距2cm:

ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;

i.頁面水平居中:

ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;

j.頁面垂直居中:

ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;

k.打印單元格網線:

ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;

15) 拷貝操作:

a.拷貝整個工作表:

https://www.360docs.net/doc/109701194.html,ed.Range.Copy;

b.拷貝指定區域:

ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;

c.從A1位置開始粘貼:

ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;

d.從文件尾部開始粘貼:

ExcelApp.ActiveSheet.Range.PasteSpecial;

16) 插入一行或一列:

a. ExcelApp.ActiveSheet.Rows[2].Insert;

b. ExcelApp.ActiveSheet.Columns[1].Insert;

17) 刪除一行或一列:

a. ExcelApp.ActiveSheet.Rows[2].Delete;

b. ExcelApp.ActiveSheet.Columns[1].Delete;

18) 打印預覽工作表:

ExcelApp.ActiveSheet.PrintPreview;

19) 打印輸出工作表:

ExcelApp.ActiveSheet.PrintOut;

20) 工作表保存:

if not ExcelApp.ActiveWorkBook.Saved then

ExcelApp.ActiveSheet.PrintPreview;

21) 工作表另存為:

ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );

22) 放棄存盤:

ExcelApp.ActiveWorkBook.Saved := True;

23) 關閉工作簿:

ExcelApp.WorkBooks.Close;

24) 退出 Excel:

ExcelApp.Quit;

二.使用Delphi 控件方法

在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。

1)打開Excel

ExcelApplication1.Connect;

2) 顯示當前窗口:

ExcelApplication1.Visible[0]:=True;

3) 更改 Excel 標題欄:

ExcelApplication1.Caption := '應用程序調用 Microsoft Excel';

4) 添加新工作簿:

ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));

5) 添加新工作表:

var Temp_Worksheet: _WorkSheet;

begin

Temp_Worksheet:=ExcelWorkbook1.

WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet; ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);

End;

6) 打開已存在的工作簿:

ExcelApplication1.Workbooks.Open (c:\a.xls

EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)

7) 設置第2個工作表為活動工作表:

ExcelApplication1.WorkSheets[2].Activate; 或

ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;

8) 給單元格賦值:

ExcelApplication1.Cells[1,4].Value := '第一行第四列';

9) 設置指定列的寬度(單位:字符個數),以第一列為例:

ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;

10) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米11) 在第8行之前插入分頁符:

ExcelApplication1.WorkSheets[1].Rows[8].PageBreak := 1;

12) 在第8列之前刪除分頁符:

ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;

13) 指定邊框線寬度:

ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3; 1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )

14) 清除第一行第四列單元格公式:

ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;

15) 設置第一行字體屬性:

ExcelApplication1.ActiveSheet.Rows[1]https://www.360docs.net/doc/109701194.html, := '隸書'; ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue; ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True; ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;

16) 進行頁面設置:

a.頁眉:

ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '報表演示'; b.頁腳:

ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P頁';

c.頁眉到頂端邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;

d.頁腳到底端邊距3cm:

ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;

e.頂邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;

f.底邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;

g.左邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;

h.右邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;

i.頁面水平居中:

ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.頁面垂直居中:

ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印單元格網線:

ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;

17) 拷貝操作:

a.拷貝整個工作表:

https://www.360docs.net/doc/109701194.html,ed.Range.Copy;

b.拷貝指定區域:

ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;

c.從A1位置開始粘貼:

ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;

d.從文件尾部開始粘貼:

ExcelApplication1.ActiveSheet.Range.PasteSpecial;

18) 插入一行或一列:

a. ExcelApplication1.ActiveSheet.Rows[2].Insert;

b. ExcelApplication1.ActiveSheet.Columns[1].Insert;

19) 刪除一行或一列:

a. ExcelApplication1.ActiveSheet.Rows[2].Delete;

b. ExcelApplication1.ActiveSheet.Columns[1].Delete;

20) 打印預覽工作表:

ExcelApplication1.ActiveSheet.PrintPreview;

21) 打印輸出工作表:

ExcelApplication1.ActiveSheet.PrintOut;

22) 工作表保存:

if not ExcelApplication1.ActiveWorkBook.Saved then

ExcelApplication1.ActiveSheet.PrintPreview;

23) 工作表另存為:

ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );

24) 放棄存盤:

ExcelApplication1.ActiveWorkBook.Saved := True;

25) 關閉工作簿:

ExcelApplication1.WorkBooks.Close;

26) 退出 Excel:

ExcelApplication1.Quit;

ExcelApplication1.Disconnect;

三.使用Delphi控制Excle二維圖

在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet

var asheet1,achart, range:variant;

1)選擇當第一個工作薄第一個工作表

asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];

2)增加一個二維圖

achart:=asheet1.chartobjects.add(100,100,200,200);

3)選擇二維圖的形態

achart.chart.charttype:=4;

4)給二維圖賦值

series:=achart.chart.seriescollection;

range:=sheet1!r2c3:r3c9;

series.add(range,true);

5)加上二維圖的標題

achart.Chart.HasTitle:=True;

achart.Chart.ChartTitle.Characters.Text:=』 Excle二維圖』

6)

我是這樣寫的:

var i,j:integer;

ii:string;

begin

ExcelApplication1.Visible[0]:=True;

ExcelApplication1.Caption:='Excel Application';

try

ExcelApplication1.Workbooks.Open(ExtractFilePath(paramstr(0))+'文件名.xls',

null,null,null,null,null,null,null,null,null,null,null,null,0); //獲取當前路徑下的文件並且打開except

ExcelApplication1.Disconnect;//出現異常情況時關閉

ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1與Eexcelapplication1建立連接

ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1與Excelworkbook1建立連接

fr_https://www.360docs.net/doc/109701194.html,bel3.Caption:='ExcelWorksheet1.Cells.Item[3,1]';

//ExcelApplication1.WorkBooks1.Close;

ExcelApplication1.Disconnect;

ExcelApplication1.Quit;

但是label3卻不能顯示第三行,第一列中的數據。請各位指點!!!

附說明:

一) 使用動態創建的方法

首先創建 Excel 對象,使用ComObj:

var ExcelApp: Variant;

ExcelApp := CreateOleObject( 'Excel.Application' );

1) 顯示當前窗口:

ExcelApp.Visible := True;

2) 更改 Excel 標題欄:

ExcelApp.Caption := '應用程序調用 Microsoft Excel';

3) 添加新工作簿:

ExcelApp.WorkBooks.Add;

4) 打開已存在的工作簿:

ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );

5) 設置第2個工作表為活動工作表:

ExcelApp.WorkSheets[2].Activate;

ExcelApp.WorksSheets[ 'Sheet2' ].Activate;

6) 給單元格賦值:

ExcelApp.Cells[1,4].Value := '第一行第四列';

7) 設置指定列的寬度(單位:字符個數),以第一列為例:

ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;

8) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:

ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米

9) 在第8行之前插入分頁符:

ExcelApp.WorkSheets[1].Rows.PageBreak := 1;

10) 在第8列之前刪除分頁符:

ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;

11) 指定邊框線寬度:

ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;

1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )

12) 清除第一行第四列單元格公式:

ExcelApp.ActiveSheet.Cells[1,4].ClearContents;

13) 設置第一行字體屬性:

ExcelApp.ActiveSheet.Rows[1]https://www.360docs.net/doc/109701194.html, := '隸書';

ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;

ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;

ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;

14) 進行頁面設置:

a.頁眉:

ExcelApp.ActiveSheet.PageSetup.CenterHeader := '報表演示';

b.頁腳:

ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P頁';

c.頁眉到頂端邊距2cm:

ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;

d.頁腳到底端邊距3cm:

ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;

e.頂邊距2cm:

ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;

f.底邊距2cm:

ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;

g.左邊距2cm:

ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;

h.右邊距2cm:

ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;

i.頁面水平居中:

ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;

j.頁面垂直居中:

ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;

k.打印單元格網線:

ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;

15) 拷貝操作:

a.拷貝整個工作表:

https://www.360docs.net/doc/109701194.html,ed.Range.Copy;

b.拷貝指定區域:

ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;

c.從A1位置開始粘貼:

ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;

d.從文件尾部開始粘貼:

ExcelApp.ActiveSheet.Range.PasteSpecial;

16) 插入一行或一列:

a. ExcelApp.ActiveSheet.Rows[2].Insert;

b. ExcelApp.ActiveSheet.Columns[1].Insert;

17) 刪除一行或一列:

a. ExcelApp.ActiveSheet.Rows[2].Delete;

b. ExcelApp.ActiveSheet.Columns[1].Delete;

18) 打印預覽工作表:

ExcelApp.ActiveSheet.PrintPreview;

19) 打印輸出工作表:

ExcelApp.ActiveSheet.PrintOut;

20) 工作表保存:

if not ExcelApp.ActiveWorkBook.Saved then

ExcelApp.ActiveSheet.PrintPreview;

21) 工作表另存為:

ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );

22) 放棄存盤:

ExcelApp.ActiveWorkBook.Saved := True;

23) 關閉工作簿:

ExcelApp.WorkBooks.Close;

24) 退出 Excel:

ExcelApp.Quit;

(二) 使用Delphi 控件方法

在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。

1)打開Excel

ExcelApplication1.Connect;

2) 顯示當前窗口:

ExcelApplication1.Visible[0]:=True;

3) 更改 Excel 標題欄:

ExcelApplication1.Caption := '應用程序調用 Microsoft Excel';

4) 添加新工作簿:

ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));

5) 添加新工作表:

var Temp_Worksheet: _WorkSheet;

begin

Temp_Worksheet:=ExcelWorkbook1.

WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet; ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);

End;

6) 打開已存在的工作簿:

ExcelApplication1.Workbooks.Open (c:\a.xls

EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)

7) 設置第2個工作表為活動工作表:

ExcelApplication1.WorkSheets[2].Activate; 或

ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;

8) 給單元格賦值:

ExcelApplication1.Cells[1,4].Value := '第一行第四列';

9) 設置指定列的寬度(單位:字符個數),以第一列為例:

ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;

10) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米

11) 在第8行之前插入分頁符:

ExcelApplication1.WorkSheets[1].Rows.PageBreak := 1;

12) 在第8列之前刪除分頁符:

ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;

13) 指定邊框線寬度:

ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;

1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )

14) 清除第一行第四列單元格公式:

ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;

15) 設置第一行字體屬性:

ExcelApplication1.ActiveSheet.Rows[1]https://www.360docs.net/doc/109701194.html, := '隸書';

ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue;

ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True;

ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;

16) 進行頁面設置:

a.頁眉:

ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '報表演示';

b.頁腳:

ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P頁';

c.頁眉到頂端邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;

d.頁腳到底端邊距3cm:

ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;

e.頂邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;

f.底邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;

g.左邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;

h.右邊距2cm:

ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;

i.頁面水平居中:

ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.頁面垂直居中:

ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印單元格網線:

ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;

17) 拷貝操作:

a.拷貝整個工作表:

https://www.360docs.net/doc/109701194.html,ed.Range.Copy;

b.拷貝指定區域:

ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;

c.從A1位置開始粘貼:

ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;

d.從文件尾部開始粘貼:

ExcelApplication1.ActiveSheet.Range.PasteSpecial;

18) 插入一行或一列:

a. ExcelApplication1.ActiveSheet.Rows[2].Insert;

b. ExcelApplication1.ActiveSheet.Columns[1].Insert;

19) 刪除一行或一列:

a. ExcelApplication1.ActiveSheet.Rows[2].Delete;

b. ExcelApplication1.ActiveSheet.Columns[1].Delete;

20) 打印預覽工作表:

ExcelApplication1.ActiveSheet.PrintPreview;

21) 打印輸出工作表:

ExcelApplication1.ActiveSheet.PrintOut;

22) 工作表保存:

if not ExcelApplication1.ActiveWorkBook.Saved then

ExcelApplication1.ActiveSheet.PrintPreview;

23) 工作表另存為:

ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );

24) 放棄存盤:

ExcelApplication1.ActiveWorkBook.Saved := True;

25) 關閉工作簿:

ExcelApplication1.WorkBooks.Close;

26) 退出 Excel:

ExcelApplication1.Quit;

ExcelApplication1.Disconnect;

(三) 使用Delphi 控制Excle二維圖

在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet

var asheet1,achart, range:variant;

1)選擇當第一個工作薄第一個工作表

asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];

2)增加一個二維圖

achart:=asheet1.chartobjects.add(100,100,200,200);

3)選擇二維圖的形態

achart.chart.charttype:=4;

4)給二維圖賦值

series:=achart.chart.seriescollection;

range:=sheet1!r2c3:r3c9;

series.add(range,true);

5)加上二維圖的標題

achart.Chart.HasTitle:=True;

achart.Chart.ChartTitle.Characters.Text:=』 Excle二維圖』

怎么在delphi中读取Excel数据(各种详细操作)

怎么在delphi中读取Excel数据(各种详细操作)转 ( 一) 使用动态创建的方法 首先创建Excel 对象,使用ComObj : Var ExcelApp : Variant ; ExcelApp := CreateOleObject ( '' Excel.Application '' ) ; 1 ) 显示当前窗口: ExcelApp.Visible := True ; 2 ) 更改Excel 标题栏: ExcelApp.Caption := '' 应用程序调用Microsoft Excel '' ; 3 ) 添加新工作簿: ExcelApp.WorkBooks.Add ; 4 ) 打开已存在的工作簿: ExcelApp.WorkBooks.Open ( '' C : \Excel\Demo.xls '' ) ; 5 ) 设置第2个工作表为活动工作表: ExcelApp.WorkSheets [ 2 ] .Activate ; 或 ExcelApp.WorksSheets [ '' Sheet2 '' ] .Activate ; 6 ) 给单元格赋值: ExcelApp.Cells [ 1 , 4 ] .Value := '' 第一行第四列'' ; 7 ) 设置指定列的宽度(单位:字符个数),以第一列为例: ExcelApp.ActiveSheet.Columns [ 1 ] .ColumnsWidth := 5 ; 8 ) 设置指定行的高度(单位:磅)(1磅=0.035 厘米),以第二行为例:ExcelApp.ActiveSheet.Rows [ 2 ] .RowHeight := 1 / 0.035 ; // 1厘米 9 ) 在第8行之前插入分页符: ExcelApp.WorkSheets [ 1 ] .Rows [ 8 ] .PageBreak := 1 ; 10 ) 在第8列之前删除分页符: ExcelApp.ActiveSheet.Columns [ 4 ] .PageBreak := 0 ;

Delphi控制Excel的重要属性和方法

Delphi控制Excel2000 类别:COM&ActiveX (一)使用动态创建的方法 首先创建Excel对象,使用ComObj: var ExcelApp:Variant; ExcelApp:=CreateOleObject('Excel.Application'); 1)显示当前窗口: ExcelApp.Visible:=True; 2)更改Excel标题栏: ExcelApp.Caption:='应用程序调用Microsoft Excel'; 3)添加新工作簿: ExcelApp.WorkBooks.Add; 4)打开已存在的工作簿: ExcelApp.WorkBooks.Open('C:\Excel\Demo.xls'); 5)设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets['Sheet2'].Activate; 6)给单元格赋值: ExcelApp.Cells[1,4].Value:='第一行第四列'; 7)设置指定列的宽度(单位:字符个数),以第一列为例: ExcelApp.ActiveSheet.Columns[1].ColumnsWidth:=5; 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: ExcelApp.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米 9)在第8行之前插入分页符: ExcelApp.WorkSheets[1].Rows[8].PageBreak:=1; 10)在第8列之前删除分页符: ExcelApp.ActiveSheet.Columns[4].PageBreak:=0; 11)指定边框线宽度: ExcelApp.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3; 1-左2-右3-顶4-底5-斜(\)6-斜(/) 12)清除第一行第四列单元格公式: ExcelApp.ActiveSheet.Cells[1,4].ClearContents; WrapText:=True可能是自动换行 13)设置第一行字体属性: ExcelApp.ActiveSheet.Rows[1]https://www.360docs.net/doc/109701194.html,:='隶书'; ExcelApp.ActiveSheet.Rows[1].Font.Color:=clBlue; ExcelApp.ActiveSheet.Rows[1].Font.Bold:=True; ExcelApp.ActiveSheet.Rows[1].Font.UnderLine:=True; 14)进行页面设置: a.页眉: ExcelApp.ActiveSheet.PageSetup.CenterHeader:='报表演示'; b.页脚:

Delphi操作EXCEL函数整理

一、使用单元: Use :EXCEL 2000, ComObj 二、定义 var ExcelApp,Sheet,Range: Variant; 注释: ExcelApp 为定义的Excel 对象 Sheet 为定义的工作表(Sheet)对象 Range 为定义的工作表范围 三、关于Excel 对象创建初始化以及工作表、工作表范围的初始化 1. 创建excel对象: ExcelApp := CreateOleObject( 'Excel.Application' ); 2. 显示当前窗口: ExcelApp.Visible := True; 3. 更改Excel 标题栏: ExcelApp.Caption := '应用程序调用Microsoft Excel'; 4. 添加新工作簿: ExcelApp.WorkBooks.Add; 5 打开已存在的工作簿: ExcelApp.WorkBooks.Open(FilePath); 6.设置工作簿默认工作表张数 ExcelApp.SheetsInNewWorkbook := 1; 7.设置工作表名称 ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum].Name := PName; 8.工作表初始化 Sheet:= ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum]; 9.工作表范围初始化 Range := Sheet.Range['A1:DL1'] ; 10.设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets[ 'Sheet2' ].Activate; 三、单元格赋值设置数值类型 1. 给单元格赋值: ExcelApp.Cells[row, column].Value := '第一行第四列'; 或 Sheet.Cells[row, column] := ‘第一行第四列’; 2 清除第一行第四列单元格公式:

【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法)

【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法) 一个例子: excelworksheet1.Cells.Item[row,3]. numberformatlocal:='$#,##0.00;[红色]-$#,##0.00'; excelworksheet1.Cells.Item[row,3].Formula:='=SUM(R[-'+inttostr(row-rowflag+1)+']C:R[-1]C)'; excelworksheet1.Cells.Item[row,3].Borders[3].LineStyle :=xlContinuous; excelworksheet1.Cells.Item[row,3].Borders[4].LineStyle :=xlDouble; excelworksheet1.Cells.Item[row,4].Borders[3].LineStyle :=xlContinuous; excelworksheet1.Cells.Item[row,4].Borders[4].LineStyle :=xlDouble; excelworksheet1.Cells.Item[row,4].Formula:='=R[-1]C'; 注:不知道公式及格式,均可通过录制宏找出对应公式及格式。 效果如下图: 资料来自网络 单元格设置 1.设置单元格线框 Excel.ActiveSheet.Range[B10:C13].Borders[N].LineStyle := xlNone Excel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin

【免费下载】Delphi汇出Excel时Excel单元格格式设置附Delphi操作Excel方法

【Delphi】汇出Excel 时,Excel 单元格格式设置(附Delphi 操作Excel 方法)一个例子:excelworksheet1.Cells.Item[row,3]. numberformatlocal:='$#,##0.00;[红色]-$#,##0.00'; excelworksheet1.Cells.Item[row,3].Formula:='=SUM(R[-'+inttostr(row-rowflag+1)+']C:R[-1]C)'; excelworksheet1.Cells.Item[row,3].Borders[3].LineStyle :=xlContinuous;excelworksheet1.Cells.Item[row,3].Borders[4].LineStyle :=xlDouble;excelworksheet1.Cells.Item[row,4].Borders[3].LineStyle :=xlContinuous;excelworksheet1.Cells.Item[row,4].Borders[4].LineStyle :=xlDouble;excelworksheet1.Cells.Item[row,4].Formula:='=R[-1]C';注:不知道公式及格式,均可通过录制宏找出对应公式及格式。 效果如下图: 资料来自网络单元格设置1.设置单元格线框Excel.ActiveSheet.Range[B10:C13].Borders[N].LineStyle := xlNone Excel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin 、管路敷设技术通过管线敷设技术,不仅可以解决吊顶层配置不规范问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

德尔菲法(Delphi)Excel上机指导

1.1 德尔菲法实验 1.1.1 理论知识准备 德尔菲(Delphi )是在专家个人判断法的基础上发展起来的一种新型直观的预测方法。目前,德尔菲法已经运用在规划和决策中,并具有较高的声望,是一种重要的规划决策工具。 德尔菲法与专家会议法相比有三个特点,即匿名性、反馈性和预测结果的统计特性。匿名性就是采用匿名函询的方式征求意见,以就消除对专家判断的客观性有影响的一些不良因素。反馈性就是要进行几轮专家意见征询,并把上一轮的结果反馈到下一轮的预测中去,以便专家们可以参考有价值的意见从而提出更好的意见。预测结果的统计特性是指德尔菲法采用统计方法对专家意见进行处理,从而得到定量的表达,使得专家意见逐渐趋于一致。 德尔菲法预测步骤如下: (1) 确定预测主题,归纳预测事件 预测主题就是所要研究和解决的问题。一个主题包括若干个事件。事件是用来说明主题的重要指标。确定预测主题和归纳预测事件是德尔菲法的关键一步。 (2) 选择专家 德尔菲法要求专家对预测主题相当了解,对预测问题的研究非常深入,所选择专家来源广泛,一般是本企业、本部门的专家和有业务联系、关系密切的外部专家以及在社会上有影响的知名人士。专家人数恰当,通常视预测主题规模而定。专家人数太少,缺乏代表性,太多又难于组织。一般情况下,专家小组人数以10~50人为宜。对重大问题的预测,专家小组的人数可扩大到l00人左右。 (3) 预测过程 经典德尔菲法的预测过程一般分为四轮。第一轮确定预测事件,要求各个专家根据所要预测的主题提出预测事件,并用准确的术语列出“预测事件一览表”。第二轮初次预测,将“预测事件一览表”发给各个专家,要求他们对各个事件做出评价,提出相应的预测,并附上理由。有必要还可以提出需要的补充资料,使预测更加准确。第三轮修改预测,专家根据预测领导小组所反馈的第二轮预测结果和补充资料,再一次进行预测,并像第二轮预测一样附上理由。第四轮最后预测,专家再次根据反馈结果做出最后的预测,并根据领导小组的要求,做出或不做出新的论证。 在实际运用中,预测的轮数依照实际情况而定,如果大多数专家不再修改自己的意见,这表明专家们的意见基本趋于一致,这种情况下才能结束预测。 (4) 确定预测值,做出预测结论 最后对专家应答结果进行量化分析和处理,这是德尔菲法最重要的阶段,常采用中位数法,即上、下四分点之间的距离越小,说明专家们的意见越集中,用中位数代表的预测结果的可信程度越高。 首先,把专家们的意见(即对某个问题的不同方案所给出的得分)按从小到大的顺序排列。若有n 个专家,n 个(包括重复的)答数排列如下:n x x x ≤?≤≤21,若中位数及上、下四分点分别用下上中,,x x x 表示,则 ???=++=++k n x x k n x x k k k 2,2/)(12,11=中

delphi控制excel大全(完全版)

下面是我写的通用文档微机管理系统的打印部分原代码,包括合并execl单元格,加入分页符号,设置行高,列宽,设置execl页头,设置每页记录数,画单元格边框,调用execl模板等等 procedure TfrmMain.Button3Click(Sender:TObject);//动态打印excel报表 var tiaojian:string;//tiaojian为一个sql查询语句,全宗号,目录号,起始日期为一数据库字段begin tiaojian:='; if Edit7.Text<>'then begin tiaojian:=tiaojian+'(全宗号='+EDit7.Text+')and'; end; if Edit8.Text<>'then begin tiaojian:=tiaojian+'(目录号='+Edit8.Text+')and'; end; if Edit9.Text<>'then begin tiaojian:=tiaojian+'(起始日期>='+Edit9.Text+')and'; end else tiaojian:=tiaojian+'(起始日期>=0)and'; if Edit10.Text<>'then begin tiaojian:=tiaojian+'(起始日期<='+Edit10.Text+')and'; end; tiaojian:=copy(tiaojian,1,length(tiaojian)-3);//tiaojian为一个sql查询语句Printanjuan(tiaojian);//调用打印过程 ShellExecute(Handle,'Open',PChar(GetCurpath+'temp.xls'),nil,nil,sw_shownormal);//调用excel查看生成的文件 ProgressBar1.Position:=0;//ProgressBar1为一个进程条控件 end; procedure TfrmMain.Printanjuan(tiaojiao:string); var nowhangi,i,jilushu,LCID:integer;//nowhangi当前execl的所在行,jilushu当前的记录

DELPHI操作EXCEL

(一) 使用动态创建的方法 首先创建Excel 对象,使用ComObj: var ExcelApp: Variant; ExcelApp := CreateOleObject( 'Excel.Application ' ); 1) 显示当前窗口: ExcelApp.Visible := True; 2) 更改Excel 标题栏: ExcelApp.Caption := '应用程序调用Microsoft Excel '; 3) 添加新工作簿: ExcelApp.WorkBooks.Add; 4) 打开已存在的工作簿: ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls ' ); 5) 设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets[ 'Sheet2 ' ].Activate; 6) 给单元格赋值: ExcelApp.Cells[1,4].Value := '第一行第四列'; 7) 设置指定列的宽度(单位:字符个数),以第一列为例:ExcelApp.ActiveSheet.Columns[1].ColumnWidth := 5; 8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米 9) 在第8行之前插入分页符: ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1; 10) 在第8列之前删除分页符: ExcelApp.ActiveSheet.Columns[4].PageBreak := 0; 11) 指定边框线宽度: ExcelApp.ActiveSheet.Range[ 'B3:D4 ' ].Borders[2].Weight := 3; 1-左2-右3-顶4-底5-斜( \ ) 6-斜( / ) 12) 清除第一行第四列单元格公式: ExcelApp.ActiveSheet.Cells[1,4].ClearContents;

DELPHI控制EXCEL2000操作全集

Delphi控制Excel2000操作全集 十分值得收藏的咚咚,对认为有用的人很有用,呵呵 ----------------------------------------- Delphi控制Excel2000 希望这分数据,为论坛中的各位会员关于EXCEL操作的问题提供一些帮助。同时也希望各位能将自己整理的、或已有的资料共享出来。 这样可以减少大家的「重复劳动」吗? 技术在于交流,经验在于积累!!!! 一.使用动态创建的方法 首先创建Excel对象,使用ComObj: var ExcelApp:Variant; ExcelApp:=CreateOleObject('Excel.Application'); 1)显示当前窗口: ExcelApp.Visible:=True; 2)更改Excel标题栏: ExcelApp.Caption:='应用程序调用Microsoft Excel'; 3)添加新工作簿: ExcelApp.WorkBooks.Add; 4)打开已存在的工作簿: ExcelApp.WorkBooks.Open('C:\Excel\Demo.xls'); 5)设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets['Sheet2'].Activate; 6)给单元格赋值: ExcelApp.Cells[1,4].Value:='第一行第四列'; 7)设置指定列的宽度(单位:字符个数),以第一列为例: ExcelApp.ActiveSheet.Columns[1].ColumnsWidth:=5; 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelApp.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米

Delphi操作Excel大全

1.往Excel中插入图片 用MsExcelWorkSheet.Pictures.Insert(ExtractFilePath(ParamStr(0))+'temp.jpg'); 可以放图片 var ExcelApp,MyWorkBook,MsExcelWorkSheet,Temple1:Variant; begin try ExcelApp:=CreateOleObject('Excel.Application'); MyWorkBook:=CreateOleobject('Excel.Sheet'); MyWorkBook:=ExcelApp.WorkBooks.open(ExtractFilePath(ParamStr(0))+'testItemB ook.xls'); MsExcelWorkSheet:=MyWorkBook.WorkSheets['3']; if not ADOQueryItemBook.IsEmpty then begin Tblobfield(ADOQueryItemBook.FieldByName('pic')).SaveToFile(ExtractFilePat h(ParamStr(0))+'temp.jpg'); MsExcelWorkSheet.Pictures.Insert(ExtractFilePath(ParamStr(0))+'temp.jpg'); end; 提供一些Excel的操作方法,希望有点用处吧。 一) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj: var ExcelApp: Variant; ExcelApp := CreateOleObject( 'Excel.Application' ); 1) 显示当前窗口: ExcelApp.Visible := True; 2) 更改 Excel 标题栏: ExcelApp.Caption := '应用程序调用 Microsoft Excel'; 3) 添加新工作簿: ExcelApp.WorkBooks.Add; 4) 打开已存在的工作簿: ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' ); 5) 设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets[ 'Sheet2' ].Activate; 6) 给单元格赋值:

delphi操作excel

DEPHI操作EXCEL的例子 var Form1: TForm1; ExcelApp: Variant; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ExcelApp := CreateOleObject( …Excel.Application? ); end; procedure TForm1.Button1Click(Sender: TObject); begin//E xcelApp.WorkBooks.Open(…c:\1.xls? ); ExcelApp.WorkBooks.Open(ExtractFileDir(application.ExeName)+?\2.xls?); ExcelApp.Visible := True; end; procedure TForm1.Button2Click(Sender: TObject); begin excelapp.workbooks.close; end; procedure TForm1.Button3Click(Sender: TObject); begin ExcelApp.ActiveWorkBook.Sheets['Sheet2'].Select end;

procedure TForm1.Button4Click(Sender: TObject); begin excelapp.activeworkbook.sheets[edit1.Text].select; excelapp.activeworkbook.sheets[edit1.Text].range[edit2.Text].select; edit3.Text :=excelapp.ActiveCell.value; // 取公式excelapp.ActiveCell.FormulaR1C1 //取值excelapp.ActiveCell.value end; procedure TForm1.Button5Click(Sender: TObject); begin memo1.Clear; excelapp.activeworkbook.sheets[edit4.Text].select; excelapp.activeworkbook.sheets[edit4.Text].range[edit5.Text].select; memo1.Lines.Add(…字体:?+https://www.360docs.net/doc/109701194.html,); if not VarIsNull(excelapp.Selection.Font.size) then memo1.Lines.Add(…字号:?+inttostr(excelapp.Selection.Font.size)); memo1.Lines.Add(…字形:?+excelapp.Selection.Font.FontStyle); if not VarIsNull(excelapp.Selection.Font.Underline) then memo1.Lines.Add(…下划线:?+inttostr(excelapp.Selection.Font.Underline)); if not VarIsNull(excelapp.Selection.Font.ColorIndex) then memo1.Lines.Add(…字体颜色:?+inttostr(excelapp.Selection.Font.ColorIndex)); if

delphi中打开excel文件的实现

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,ComObj; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Excel1: Variant; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin begin excel1 := CreateOleObject('Excel.Application'); excel1.WorkBooks.Open('D:\55\aa.xls'); excel1.WorkSheets['sheet1'].Activate; excel1.Cells[1, 4].value:=56+23;//表示单元格 excel1.ActiveSheet.Columns[4].Insert;//插入列 excel1.Cells.Columns.AutoFit;//自动列大小 excel1.visible := true;//是excel可见。 excel1.WorkSheets[2].Activate; excel1.cells[2,2].value:=44; end; end;

相关主题
相关文档
最新文档