VFP中直接來控制Excel。下面就在開發VFP應用項目時對Excel的
控製作一下介紹:
1.建立Excel對象
eole=CREATEOBJECT(′Excel.application′)
2.添加新活頁簿
eole.Workbooks.add
3.設定第3個工作表為啟用工作表
eole.Worksheets(″sheet3″).Activate
4.開啟指定活頁簿
eole.Workbooks.Open(″c:templl.xls″)
5.顯示Excel視窗
eole.visible=.t.
6.更改Excel標題列
eole.Caption=″VFP應用程式調用Microsoft Excel″
7.給儲存格賦值
eole.cells(1,4).value=XM(XM為資料庫欄位名)
8.設定指定列的寬度(單位:字元個數)
eole.ActiveSheet.Columns(1).ColumnWidth=5
9.設定指定行的高度(單位:磅)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035
(設定行高為1厘米,1磅=0.035厘米)
10.在第18行之前插入分頁符
eole.Worksheets(″Sheet1″).Rows(18).PageBreak=1
11.在第4列之前刪除分頁符
eole.ActiveSheet.Columns(4).PageBreak=0
12.指定邊框線寬度(Borders參數如下)
ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=3
13.設定四個邊框線條的類型
eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1
(其中Borders參數:1-左、2-右、3-頂、4-底、5-斜、6-斜/;LineStyle值:1與7-細實、2-細虛、4-點虛、9-雙細實線)
14.設定頁首
eole.ActiveSheet.PageSetup.CenterHeader=″報表1″
15.設定頁尾
eole.ActiveSheet.PageSetup.CenterFooter=″第&P頁″
16.設定頁首到頂端邊距為2厘米
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035
17.設定頁尾到底邊距為3厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035
18.設定頂邊距為2厘米
eole.ActiveSheet.PageSetup.TopMargin=2/0.035
19.設定底邊距為4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035
20.設定左邊距為2厘米
veole.ActiveSheet.PageSetup.LeftMargin=2/0.035
21.設定右邊距為2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035
22.設定頁面水平置中
eole.ActiveSheet.PageSetup.CenterHorizontally=.t.
23.設定頁面垂直置中
eole.ActiveSheet.PageSetup.CenterVertically=.t.
24.設定頁面紙張大小(1-窄行8511 39-寬行1411)
eole.ActiveSheet.PageSetup.PaperSize=1
25.列印儲存格網線
eole.ActiveSheet.PageSetup.PrintGridlines=.t.
26.拷貝整個工作表
eole.ActiveSheet.UsedRange.Copy
27.拷貝指定地區
eole.ActiveSheet.Range(″A1:E2″).Copy
28.粘貼
eole.WorkSheet(″Sheet2″).Range(″A1″).PasteSpecial
29.在第2行之前插入一行
eole.ActiveSheet.Rows(2).Insert
30.在第2列之前插入一列
eole.ActiveSheet.Columns(2).Insert
31.設定字型
eole.ActiveSheet.Cells(2,1).Font.Name=″黑體″
32.設定字型大小
eole.ActiveSheet.Cells(1,1).Font.Size=25
33.設定字型為斜體
eole.ActiveSheet.Cells(1,1).Font.Italic=.t.
34.設定整列字型為粗體
eole.ActiveSheet.Columns(1).Font.Bold=.t.
35.清除儲存格公式
eole.ActiveSheet.Cells(1,4).ClearContents
36.預覽列印工作表
eole.ActiveSheet.PrintPreview
37.列印輸出工作表
eole.ActiveSheet.PrintOut
38.工作表另為
eole.ActiveWorkbook.SaveAs(″c:temp22.xls″)
39.放棄存檔
eole.ActiveWorkbook.saved=.t.
40.關閉活頁簿
eole.Workbooks.close
41.退出Excel
eole.quit
PB控制也一樣的的.
MyOLE=Create OLEObject
ConnectErr=MyOLE.ConnectToNewObject ("excel.Application")
MyOLE.visible=false
//開啟指定的XLS檔案啟用workbooks
MyOLE.application.workbooks.Open (FilePath)
//對XLS檔案進行了改動以後,在關閉該檔案時是否需要向使用者提出警告。
MyOLE.Application.DisplayAlerts = False
if isnull(MyOLE) then return -1 ;
if ConnectErr <0 then
choose case ConnectErr
case -1
messagebox('錯誤提示','無效的調用')
case -2
messagebox('錯誤提示','類名沒發現')
case -3
messagebox('錯誤提示','對象不能建立')
case -4
messagebox('錯誤提示','檔案不能串連')
case -5
messagebox('錯誤提示','不能串連現在的對象')
case -6
messagebox('錯誤提示','檔案無效')
case -7
messagebox("錯誤提示","檔案不存在或已經開啟")
case -8
messagebox("錯誤提示","伺服器不能裝載選擇的檔案")
case -9
messagebox("錯誤提示","其他錯誤")
end choose
return -1
end if
合并
string worksheet,beginRowcol,EndRowCol
MyOLE.ActiveWorkBook.Sheets(worksheet).Range(BeginRowCol+":"+EndRowCol).Select
MyOLE.ActiveWorkBook.Sheets(worksheet).Range(BeginRowCol+":"+EndRowCol).Merge
sheet改名
MyOLE.ActiveWorkBook.Sheets(olename).select
MyOLE.ActiveWorkBook.Sheets(olename).name=newname