程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi中控制Excel

Delphi中控制Excel

編輯:Delphi

用Delphi從數據庫中取得資料,然後導出到Excel中做成報表是個不錯的選擇,因為Excel強大的報表功能那可是沒話說  
前提  
Delphi中要   
uses comobj;  
var Excel:Variant;  
一、Excel操作  
1.創建Excel對象  
Excel := CreateOleObject( Excel.Application );  
2.顯示Excel  
Excel.Visible:=true;  
3.更改標題  
Excel.Caption:=Excel的標題;  
4.退出Excel  
Excel.Quit;  
二、工作表操作  
1.添加新工作簿(剛創建的Excel對象是沒有工作表的):  
Excel.WorkBooks.Add;  
2.打開已存在的工作簿:  
Excel.WorkBooks.Open( C:ExcelDemo.xls );  
3.設置第2個工作表為活動工作表:  
Excel.WorkSheets[2].Activate;   
或   
Excel.WorksSheets[Sheet2].Activate;  
4.打印預覽工作表:  
Excel.ActiveSheet.PrintPreview;  
5.打印輸出工作表:  
Excel.ActiveSheet.PrintOut;  
6.工作表另存為:  
Excel.SaveAs( C:ExcelDemo1.xls );  
7.判斷是否已經保存:  
if not Excel.ActiveWorkBook.Saved then  
Excel.ActiveSheet.PrintPreview;  
8.放棄存盤:  
Excel.ActiveWorkBook.Saved := True;  
9.關閉工作簿:  
Excel.WorkBooks.Close;  
10.刪除“表1”工作表:  
Excel.Sheets(表1).delete;  
11.改“sheet1”工作表名為“123”  
Excel.Sheets(Sheet1).Name := 123;  


三、行/列設置  
1.設置指定列的寬度(單位:字符個數),以第一列為例:  
Excel.ActiveSheet.Columns[1].ColumnsWidth := 5;  
2.設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:  
Excel.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米  
3.插入一行或一列:  
a. Excel.ActiveSheet.Rows[2].Insert;  
b. Excel.ActiveSheet.Columns[1].Insert;  
4.刪除一行或一列:  
a. Excel.ActiveSheet.Rows[2].Delete;  
b. Excel.ActiveSheet.Columns[1].Delete;  
5.自適應寬度  
Excel.ActiveSheet.Columns[1].EntireColumn.AutoFit; //第一列  
Excel.Cells.EntireColumn.AutoFit; //整個表所有列  
Excel.ActiveSheet.Rows[1:1].EntireRow.AutoFit; //第一行  
Excel.ActiveSheet.Columns[A:A].EntireColumn.AutoFit; //第一列  
6.居中顯示J列  
Excel.Columns[J:J].HorizontalAlignment:=3;  
7.設置E列單元格式為3位小數數值  
Excel.Columns[E:E].NumberFormatLocal:=#,##0.000_   
8.設置E列單元格式為文字  
Excel.Columns[E:E].NumberFormatLocal:=@ 

四、單元格設置  
1.設置單元格線框  
Excel.ActiveSheet.Range[B10:C13].Borders[N].LineStyle := xlNone  
Excel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin  

邊框的類型 Borders[N]  
xlEdgeLeft 左=1  
xlEdgeRight 右=2  
xlEdgeTop 頂=3  
xlEdgeBottom 底=4  
xlDiagonalUp 左上右下=5  
xlDiagonalDown 左下右上=6  
xlEdgeLeft 外部左邊框=7  
xlEdgeTop 外部上邊框=8  
xlEdgeBottom 外部下邊框=9  
xlEdgeRight 外部右邊框=10  
xlInsideVertical 內部豎線=11  
xlInsideHorizontal 內部橫線=12  
線條類型LineStyle,寬度Weight  
第7種=1,1  
第6種=2,2  
第3種=3,2  
第6種=4,2  
第4種=5,2  
第9種=6,3  
第12種=1,3  
第13種=1,4  
第2種=2,1  
單條線的LineStyle := xlContinuous  
雙條線的LineStyle := xlDouble  
虛線 xlHairline 1  
實線 xlThin  
中實線 xlMedium  
粗實線 xlThick  
XLLineStyle等值參考Excel裡面的VisualBasic對象浏覽器幫助 (如圖)  
2.給單元格賦值:  
Excel.Cells[1,4].Value := 第一行第四列;  
3.設置第一行字體屬性(隸書,藍色,加粗,下劃線):  
Excel.ActiveSheet.Rows[1].Font.Name := 隸書;  
Excel.ActiveSheet.Rows[1].Font.Color := clBlue;  
Excel.ActiveSheet.Rows[1].Font.Bold := True;  
Excel.ActiveSheet.Rows[1].Font.UnderLine := True;  
4.設置整個表字體為9  
Excel.Cells.Font.Size:=9;  
5.在第8行之前插入/刪除分頁符:  
Excel.WorkSheets[1].Rows[8].PageBreak := 1; (0為刪除)  
6.清除第一行第四列單元格公式:  
Excel.ActiveSheet.Cells[1,4].ClearContents;  

五、頁面設置  
1.頁腳和頁眉  
Excel.ActiveSheet.PageSetup.LeftHeader := 頁眉左  
Excel.ActiveSheet.PageSetup.CenterHeader := 頁眉中  
Excel.ActiveSheet.PageSetup.RightHeader := 頁眉右  
Excel.ActiveSheet.PageSetup.LeftFooter := 頁腳左  
Excel.ActiveSheet.PageSetup.CenterFooter := 頁腳中  
Excel.ActiveSheet.PageSetup.RightFooter := 頁腳右  
2.頁腳中間顯示頁數:  
Excel.ActiveSheet.PageSetup.CenterFooter := 第&P頁/共&N頁;  
3.頁眉到頂端邊距2cm:  
Excel.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;  
4.頁腳到底端邊距3cm:  
Excel.ActiveSheet.PageSetup.FooterMargin := 3/0.035;  
5.頂邊距2cm:  
Excel.ActiveSheet.PageSetup.TopMargin := 2/0.035;  
6.底邊距2cm:  
Excel.ActiveSheet.PageSetup.BottomMargin := 2/0.035;  
7.左邊距2cm:  
Excel.ActiveSheet.PageSetup.LeftMargin := 2/0.035;  
8.右邊距2cm:  
Excel.ActiveSheet.PageSetup.RightMargin := 2/0.035;  
9.頁面水平居中:  
Excel.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;  
10.頁面垂直居中:  
Excel.ActiveSheet.PageSetup.CenterVertically := 2/0.035;  
11.打印單元格網線:  
Excel.ActiveSheet.PageSetup.PrintGridLines := True;  
12.橫向打印  
Excel.ActiveSheet.PageSetup.Orientation:=2

ExcelWorksheet1.PageSetup.CenterFooter:='第 &P 頁,共 &N 頁'; //設置頁腳 
 ExcelWorksheet1.Cells.Item[2,3].select; //選中第二行第三列的表格 
 ExcelApplication1.ActiveWindow.FreezePanes:=True; //將此表格設為凍結 
 ExcelWorksheet1.PageSetup.Orientation:=2; //設置為橫向

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved