版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、VFP和Excel都可以用來進行處理數據庫表格,如果巧妙地將二者的優(yōu)點結合起來,將會大大方 便我們的工作。比如我們可以利用VFP進行處理數據,而利用Excel的預覽打印功能進行報表打印。這就需要我們在VFP中直接來控制 Excel。下面就在開發(fā) VFP應用工程時對 Excel的控制作一下介紹:*!* 1 .創(chuàng)建 Excel 對象 oExcel= Createobject (Excel.application)*!* 2 .添加新工作簿oExcel.Workbooks. Add*!* 3 .設置第 3 個工作表為激活工作表oExcel.Worksheets(sheet3). Activate*!
2、* 4 .打開指定工作簿 oExcel.Workbooks. Open( c:/temp/ll.xls )*!* 5 .顯示 Excel 窗口 oExcel. Visible =.T.*!* 6 .更改 Excel 標題欄 oExcel. Caption =VFP 應用程序調用Microsoft Excel*!* 7 .給單元格賦值oExcel.cells(1,4). Value =XM(XM為數據庫字段名)*!* 8 .設置指定列的寬度(單位:字符個數)oExcel.ActiveSheet.Columns(1).ColumnWidth=5*!* 9 .設置指定行的高度(單位:磅)oExcel
3、.ActiveSheet. Rows(1). RowHeight =1(設定行高為1磅,1磅=0.035厘M)oExcel.ActiveSheet. Rows(50:100). RowHeight =1&設置第 50 行至 100 行的高度*!* 10 .在第 18 行之前插入分頁符oExcel.Worksheets(Sheet1). Rows(18).PageBreak=1*!* 12 .指定邊框線寬度(Borders參數如下)ole.ActiveSheet.Range(b3:d3).BorderS(2).Weight=3*!* 13 設置四個邊框線條的類型oExcel.ActiveShee
4、t.Ran ge(b3:d3).BorderS (2).L in eStyle=1(其中 Borders 參數:1左、2右、3頂、4 底、5 斜、6斜 / ; LineStyle值:1 與 7-細實、2 細虛、4 點虛、9雙細實線)*!* 14 .設置頁眉 oExcel.ActiveSheet.PageSetup.CenterHeader=報表 1*!* 15 .設置頁眉(字體大小)oExcel.ActiveSheet.PageSetup.CenterHeader=&50報表1&后面的50可以自定義,表示字體的大小*!* 16 .設置頁腳 oExcel.ActiveSheet.PageSetu
5、p.CenterFooter=第&P頁*!* 17. 設置頁腳(字體大小)oExcel.ActiveSheet.PageSetup.CenterFooter=&28第&P 頁&后面的28可以自定義,表示字體的大小*!* 18設置頁眉到頂端邊距為2 厘 MbExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035*!* 19設置頁腳到底邊距為3 厘 MOExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035*!* 20設置頂邊距為MDExcel.ActiveSheet.PageSetup.TopMargi n=2/
6、0.035*!* 21設置底邊距為MDExcel.ActiveSheet.PageSetup.BottomMargi n=4/0.035*!* 24 .設置頁面水平居中oExcel.ActiveSheet.PageSetup.Ce nterHorizo ntally=.T.*!* 25 .設置頁面垂直居中oExcel.ActiveSheet.PageSetup.Ce nterVertically=.T.*!* 26 .設置頁面紙張大小(1 窄行 丨丨陰寬行1-1 H9:A4) oExcel.ActiveSheet.PageSetup.Papersize=1*!* 27 .打印單元格網線oExc
7、el.ActiveSheet.PageSetup.Pri ntGridli nes=.T.*!* 28 .拷貝整個工作表 oExcel.ActiveSheet.UsedRa nge.Copy*!* 29 .拷貝指定區(qū)域 oExcel.ActiveSheet.Ran ge(A1:E2).Copy*!* 30 .粘貼 oExcel.WorkSheet(Sheet2).Range(A1).PasteSpecial*!* 31 .在第 2 行之前插入一行oExcel.ActiveSheet. Rows(2). Insert*!* 32 .在第 2 列之前插入一列 oExcel.ActiveSheet.
8、Columns(2). Insert*!* 33.設置字體 oExcel.ActiveSheet.Cells(2,1).Font . Name=黑體*!* 34 .設置字體大小 oExcel.ActiveSheet.Cells(1,1).Font. Size =25*!* 37 清除單元格公式*!* 38 打印預覽工作表oExcel.ActiveSheet.Cells(1,4).ClearCo nte ntsoExcel.ActiveSheet.Pri ntPreview*!* 39 打印輸岀工作表oExcel.ActiveSheet.Pri ntOut18*!* 40. oExcel.Com
9、ma ndBars(1).Co ntrols.accChild(18).Execute &打印(菜單序號為Excel2003的打印項)&不同版本Excel的菜單序號可以通過以下程序取得*(需要在 VFP7.0 以上運行)oXls= Getobject (,excel.sheet)XlApp=oXLS. Application XlSheet=XlApp.ActiveSheetbars=xlapp.Comma ndBars. Coun tStr1= For i=1 To barsStr1=Str1+ Chr(13)+ Alltrim (Str (i)+、+xlapp.Comma ndBars(i
10、).accName+(NAME:+xlapp.Comma ndBars(i).NameINDEX:+ Alltrim ( Str (xlapp.CommandBars(i).Index )+)bars2=ma ndbars(i).accChildCou ntFor j=1 To bars2Tryobj=mandbars(i).Controls (j)Str1=Str1+ Chr(13)+ + Alltrim ( Str (j)+、+mandbars(i). Controls (j).accname+(ID:+Alltrim ( Str (x
11、lapp.CommandBars(i).Controls (j). Id )+)For k=1 To obj.accChildCou ntTryIf Not Empty(obj. Controls (k).accname )Str1=Str1+ Chr(13)+ Alltrim (Str (k)+、+obj. Controls (k).accName+ (ID :+ Alltrim (Str (obj. Controls (k). Id)+)En difCatchExitCatchEn dforEn dtryExitEn dtryEn dfor(Str (i)+ / + Alltrim ( S
12、tr (bars)+NowaitStr1 Modify Comma nd Xls .txt ReturnWait Win dows Alltrim + Str (i/bars*100,10,2)+% En dforSave To Xls .txt All Like*!* 41.工作表另存為 oExcel.ActiveWorkbook. SaveAs(c:/temp/22.xls) * 檢測當前目錄是否 有同名的 EXCEL表,如果有先刪除,再另存 If ! File (Sys(5) + Curdir () + result.xls) oExcel.ActiveWorkbook. SaveAs(
13、 Sys(5) + Curdir () + result.xls)ElselcFileName = loExcel.GetSaveAsFilename(result, Excel (*.xls), *.xls)If ! Empty(lcFileName)If File (lcFileName)Delete File (lcFileName)En difoExcel.ActiveWorkbook. SaveAs(lcFileName)En difEndif *!* 42 .放棄存盤 & 避免岀現保存對話框oExcel.ActiveWorkbook.saved=.T.*!* 43 .存盤 oExc
14、el.ActiveWorkbook. Save*!* 44 .關閉工作簿 oExcel.Workbooks. Close objexcel.activeworkbook. Close (.F.)*!* 45 .退岀Excel oExcel.Quit Release oExcel&只有釋放對象變量,EXCEL進程才會完全關閉.LeftHeader =.Ce nterHeader =.RightHeader =.LeftFooter =.Ce nterFooter = .RightFooter = .Orie ntatio n=1 With crfole.Chr(13)+左頁眉“中頁眉“右頁眉“左
15、頁腳“中頁腳“右頁腳&1豎排,2橫排EndwithRan ge(A4:C4).MergeCells = .T.WrapText =.F.Orie ntatio n = 0.Add Indent =.F.En dwith.Shri nkToFit = .F.*!* 48.文本對齊 oExcel. Range(A4:c4).HorizontalAlignment=1&水平(1-默認、2-靠左、3-居中、4-靠右、5-填充、6=兩端對齊、7=跨列居中、8=分散對齊)oExcel. Range(A4:c4).VerticalAlignment=2 &垂直(1=靠上、2=居中、3=靠下、4=兩端對齊、5
16、=分散對齊)*!* 49 .拷貝整個工作表(含格式)oExcel.activesheet.cells.Copy&拷貝oExcel.sheets(1).Select &選擇第一工作表oExcel.ActiveSheet.Paste &粘貼oExcel.ActiveSheet.Cells(3,4).Value & ActiveSheet為當前的 Sheet 工作薄名字,Cells(3,4).value為第3行第4列的值*以上控制調用語句在中文VFP5.0企業(yè)版下運行通過,運行環(huán)境為Excel 97及中文 Windows 98*!* 50.顯示某個單元格的批注內容oExcel= Createobje
17、ct (Excel.applicatio n)oExcel.Workbooks. Open(d:/TEST/testa.xls)oExcel. Visible =.T.?oExcel. Range(B5). Comment Text&顯示 B5 單元格的批注內容oExcel.Workbooks. Close oExcel.Quit Release oExcel*!* 51. oExcel.ActiveSheet.PageSetup.PrintTitleRows=$1:$1&每頁都打印行標頭(每頁頂部岀現的單元格的行)*!* 52 .保護工作表:oExcel.ActiveSheet. Prote
18、ct (密碼,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.TJ*!* 53 .保護工作薄 oExcel.ActiveWorkbook. Protect (密碼第一個.T.:保護工作簿結構第二個.T.:保護工作簿窗口*!* 54.設置允許用戶編輯區(qū)域oExcel.ActiveSheet.Protection.AllowEditRanges.Add(區(qū)域3,oExcel.ActiveSheet.Ran ge(A2:D5)*!* 55 如果不想在宏運行時被無窮無盡的提示和警告消息所困擾,就將本屬性設置為.F. oExcel.Dis
19、playAlerts = .F.如果不想在宏運行時被無窮無盡的提示和警告消息所困擾,就將本屬性設置為False ;這樣每次岀現需用戶應答的消息時,Microsoft Excel 將選擇默認應答。如果將本屬性設置為False,那么宏運行結束后,Microsoft Excel并不自動將其設置回True。故當宏運行結束后,都應將本屬性設置回True值。*!* 56 將當前工作表中的已用區(qū)域(只讀)存入數組。strPath=D:/TEST/123.xls Local oExceloExcel= Createobject (Excel.Applicati on)oExcel.WorkBooks. Ope
20、n(strPath)arrTableI nfo=oExcel.ActiveSheet.UsedRa nge.Value&將當前工作表中的已用區(qū)域(只讀)存入數組。oExcel.Quit Release oExcel Insert Into 表名 From arrTableInfo*!* 57 .設置excel批注的字體(excel 2000 實現了,如下:)ole. Range(a3).Comment Shape. Select& 此命令要求批注的Visible=.t. ole. Selection . Font. Size =9ole. Selection . Font. Name=黑體ol
21、e. Selection . Font .bold=.F.注:該組命令要求先選中批注框,否則寫成ole. Range(a3). Comment Shape. Font. Size =9貝U出錯,不知為何!*!* 58 如何取得當前 EXCEL表中工作表的數目及各工作表的名稱?ClearLocalln SheetCou ntoExce匸 Createobject (EXCEL.APPLICATION)&創(chuàng)建 Excel 對象oExcel.WORKBOOKSOpen(c:/111/321.xls)&打開指定工作簿 With oExcellnSheetCount=.WorkBooks(1).Shee
22、ts.Count &統計工作表數量 Endwith ?當前 EXCEL表中工作表的數目為:+ Alltrim ( Str (lnSheetCount) For Each oMyVar In oExcel.sheets?當前EXCEL表中工作表的名稱分別為+oMyVar. Name &顯示Excel表中所有工作表Next oMyVaroExcel.WORKBOOKSClose&關閉工作簿 oExcel.Quit&退岀 Excel*!* 59.獲取工作表名稱 在以下示例中,創(chuàng)建了一個microsoft excel實例,添加了一個新的工作簿。使用foreach語句顯示工作簿中每個工作表的名稱。此示例
23、要求在運行示例的機器上正確安裝 microsoft excel 。oExcel = Create (Excel.Application)oExcel.Workbooks. AddFor Each oMyVar In oExcel.sheets? oMyVar. NameNext oMyVar*!* 60 雖然用 APPEND From tx.Xls Type XL8可以更簡單的追加數據,但有時會導致程序非法錯誤退岀(除非先另存為Excel 5.0 )*!* 61. VFP控制 EXCL文件另存為 DBF ( EXCEL后臺運行)fil= Thisform 丄istl. Value&其值為一個包
24、含路徑的文件名oExce匸 Createobject (Excel.application)oExcel.Workbooks. Open(fil)&打開文件 oExcel. Selection .AutoFilter&關閉(如果無則打開)自動篩選oExcel. Range(A1:F1000). Select&選中從第1行到1000行的前6列數據(另存后只有這些數據)asfil= Strtran ( Upper( Strtran (fil, Substr (fil,1,Rat(7,fil),c:/windows/desktop/cphz/),.XLS,.dbf)&要保存的文件名If File (
25、asfil)DeleteFile &asfil Endif oExcel.ActiveWorkbook. SaveAs(asfil,8)&另存為DBFOExcel.ActiveWorkbook.saved=.T.&不保存當前 EXCEL表 oExcel.Workbooks. Close &*Vfp中例*lcFileName=D:/TEST.XLS關閉表 oExcel.Quit&退岀 EXCERelease oExcel&釋放變量oExcel.Workbooks. Open( & lcFileName)&打開文件oExcel= Createobject (Excel.applicati on)R
26、=oExcel.SHEETS.UsedRange. Rows Count &有數據的總行數C=oExcel.SHEETS.UsedRange. Columns. Count &有數據的總列數oExcel.Cells(R,C). Select&選中數據 oExcel. Selection .NumberFormatLocal = &把被選定的單元格設為文本格式oExcel. Columns. AutoFit&讓所有的列寬都自動調整oExcel.DisplayAlerts=.F.oExcel.ActiveWorkbook. SaveAs(D:/TEST.DBF,8)&另存為DBF*oExcel.A
27、ctiveWorkbook.SaveAs(D:/NewTest.xls,39)&另存為5.0的Excel,或用43表示95/97 格式 oExcel.ActiveWorkbook.saved=.T.&不保存當前 EXCEL表oExcel.Workbooks. Close &關閉表 oExcel.Quit&退岀 EXCERelease oExcel&釋放變量 Messagebox(Excel文件:D:/TEST.XLS 另存為D:/TEST.DBF 完成! ,64, 信息提示)*vb 仞子 *功能:VB調用Excel,將一個Excel文件另存為Dbf。前提:要安裝 ExcelDim oExcel
28、 As Object lcSFileName = D:/test.xls源Excel文件名lcDFileName = D:/test1.dbf目標Dbf文件名SetoExcelCreateobject (Excel.Applicatio n)創(chuàng)建Excel對象oExcel.Workbooks. Open (lcSFileName) 打開 Excel表*R =oExcel.SHEETS.UsedRa nge.ROWS.Cou nt有數據的總行數*C = oExcel.SHEETS.UsedRa nge.Colum ns.Cou nt 有數據的總列數*oExcel.Cells(R, C).Sele
29、ct 選中數據*oExcel.Colum ns.AutoFit讓所有的列寬都自動調整oExcel.DisplayAlerts = Flase不顯示提示框oExcel.ActiveWorkbook. SaveAs FileName:=lcDFileName, FileFormat:=8 oExcel.ActiveWorkbook.saved = Ture不保存當前 EXCEL表oExcel.Workbooks. Close 關閉表oExcel.Quit 退岀 EXCEISet oExcel = Nothing 釋放對象MsgBox (Excel 文件:& lcSFileName & “ 另存為
30、“ & lcDFileName & “ 完成!)*!* 62 . VFP用ADO!接Excel,然后將Excel內容導岀 DBF的方法*-以下代碼是將 123.XLS中的SHEET5中的內容轉換成 RR.DBFoConnectionCreateobject (adodb.c onn ecti on)&建立連接對象With oConn ecti on.Co nn ectio nStri ng =卩 rovider=Microsoft. Jet.OLEDB.4.0DataSource=d:/temp/123.xlsExte nded Properties=excel 8.0HDR=YES IMEX
31、=1。PersistSecurity In fo=FalseOpe nDataBase=d:/temp.rr fromEndwith oConnection.EXECUTE(select * into dBase III sheet5$) oConn ecti on. Close*!* 63 設置打印參數:用Excel做報表,可打印時怎么選擇打印機,的參數有哪即.ActiveWi ndow.SelectedSheets.Pri ntOut些? Expressi on .Pri ntOut( From, To, Copies, Preview , ActivePr in ter,PrintToF
32、ile, Collate , PrToFileName) Expression 必選。該表達式返回應用于”列表中的 某個對象。From Varia nt類型,可選。打印的開始頁號。如果省略該參數,將從起始位置開始 打印。To Variant 類型,可選。打印的終止頁號。如果省略該參數,將打印至最后一頁。Copies Variant 類型,可選。要打印的份數。如果省略該參數, 將只打印一份。Preview Variant 類型,可選。如果為True 則Microsoft Excel打印指定對象之前進行打印預覽。如果為False ,或者省略此參數則立即打印該對象。ActivePri nter Va
33、ria nt類型,可選。設置活動打印機的名稱。Prin tToFile Varia nt類型,可選。如果為 True 則打印輸岀到文件。如果沒有指定PrToFileName,貝U Microsoft Excel將提示用戶輸入要輸岀文件的文件名。Collate Variant類型,可選。如果為True則逐份打印每份副本。PrToFileName 可選,Variant類型。如果將 PrintToFile設置為True,則本參數指定要打印到的文件名。說明From 參數和 To參數所描述的“頁”指的是要打印的頁,并非指定工作表或工作簿中 的全部頁。*!* 64 如何用編程的方法打開有密碼的Excel文
34、件?*Excel文件加了密碼,如何在VFP中用編程的方式把密碼輸入,使Excel文件打開oExcel= Createobject (Excel.applicati on)oExcel.Workbooks. Open(d:/22.xls)這樣還有一個密碼的對話框出來,需要輸入密碼才能打開文件。*!* 65如何用編程的方法直接打開有密碼的Excel文件?oEle.Workbooks. Open(d:/22.xls,.F.,.F., ,123,456)123表示打開權限的密碼,456表示修改權限的密碼.*!* 66 .如何將一個已知路徑的圖片插入到excel 中.oexcel1.ActiveShee
35、t.PictureS.Insert (圖片文件名)*!* 67.能不能指定在某一位置或區(qū)域放置圖片并控制圖片顯示大小呢?OLEAPP.SHEETS(1).Select oleapp. Range(“ 位置).Select oleapp.ActiveSheet.PictureS.Insert (圖片文件名). Select oleapp. Selection .ShapeRange.LockAspectRatio =.T.oleapp. Selection .ShapeRange. Height = 57*!* 68類型為字符型的字段輸岀到excel中,前面的零被自動去掉,例如“ 009877”
36、變?yōu)椤?877”,怎么解決? 1.在字符串前面加半角單引號“”,例如:o.Cells(1,1). Value =0123或用變量cString=+0123&其中0123可以取自表中一個字段o.Cells(1,1). Value =cStri ng&o.Ra nge(A1:A1).value=cStri ng2.oExcel.CELLS(1,1). Select&或eole.Range(A1:E1).Select oExcel. Selection .NumberFormatLocal = &把被選定的單元格設為文本格式oExcel.Cells(1,1). Value =0123&給所選單元格覆
37、值*!* 69 .在Excel 中插入行和列:objExcel. Rows(1). Insert ()&在第一行前面插入一行objExcel. Columns(2). Insert ()&在第二列前面插入一列*!* 70 .獲取 Excel 記錄數 loXls = Createobject (excel.application)bookExcel =loXls. Application .Workbooks. Open(f:/pz.xls)nrows=bookExcel.Worksheets(pz)UsedRa nge =n rows.UsedRa nger=UsedRange. Rows C
38、ount &有數據的總行數 c=UsedRange. Columns. Count &有數據的總列數 loXls.Workbooks. Close loXls.Quit*!* 71 在EXCEL中如何在打開文件的同時自動執(zhí)行一個宏命令。只要將宏的命名為AUTO_OPEN即可。如果要在文件關閉時運行,則命名為auto_close 。*!* 72 .在 VFP 中可以執(zhí)行 EXCEL的選擇性粘貼嗎?. Range(A2).PasteSpecial(xlPasteValues) & 會岀錯.Range(A2).PasteSpecial (3)& 也會岀錯.Range(A2).PasteSpecial
39、& 只好這樣了*!* 73 .如何才能只粘貼值呢?xlPasteValues=-4163oExcel. Range(A1). Select oExcel. Selection .CopyoExcel. Range(B1)._PasteSpecial(xlPasteValues)* 注意:在 Excel 中,xlPasteValues 是一個常量,它的值是一個數值型的:-4163 oExcel. Range(A1).CopyoExcel. Range(B3).PasteSpecial(8)&粘貼行、列寬oExcel. Range(B3).PasteSpecial(-4122)*!* 74 如何從
40、excel讀取數據* 建立一個excel對象* Local hb1 As excel. Application 用戶要讀取 excel的sheet名*讀取數據源所在的EXCEL文件名* IfEmpty( Trim (Thisformset .filepath),0,提示)Retur nEndifIf Empty (Trim (csheetname)Messagebox(請先選擇要導入的工作表Retur nEndifTryhb仁Createobject (excel.applicati on)&粘貼格式csheetname= Trim ( Thisform .text2. Value ) &讀取
41、Messagebox (請先選擇要導入的 excel文件!sheet 名稱! ,0,提示)CatchMessagebox (請檢查你是否已安裝microsoft excel 應用程序! ,0,提示)Endtry *打開 EXCELX寸象,開始讀取數據* HBI.workbooks. Open(Trim (Thisformset .filepath)hb1.Sheets(csheet name).SelectSele Store &這是要讀取的數據存放的表Zapisend=.F.&用于判斷是否記錄已到底i=1 DoWhile ise nd=.F.Appe nd Bla nkcrq= Dtoc (
42、drq)cdh=hb1.Cells(i,1). ValueIf Is null(cdh)cdh=En dif*用于判斷數據類型,數據類型一定要判斷是否為NULL, *然后如果不是指定的類型,還要進行轉換*If Type (cdh)vCcdh= Alltrim (Str (cdh)En difcdwmc=Trim (hb1.Cells(i,2). Value)If Is null (cdwmc)cdwmc=En difcgg=hb1.Cells(i,3). ValueIf Is null(cgg)cgg=ElseIf Type (cgg)Ccgg= Alltrim (Str (cgg)En di
43、fEn difcjldw=hb1.Cells(i,4). ValueIf Is null(cjldw)cjldw=En difcjldw= Iif (Type(jldw)vC, Alltrim (Str (cjldw), Alltrim (cjldw)n sl=hb1.Cells(i,5). ValueIf Is null(nsl)n sl=0En difcch= Trim (hb1.Cells(i,6). Value)If Is null (cch)cch=En difcxh=hb1.Cells(i,8). ValueIf Is null(cxh)cxh=ElseIf Type (cxh)v
44、Ccxh= Trim ( Str (cxh)Elsecxh= Trim (cxh)En difEn difccpmc=hb1.Cells(i,9). ValueIf Is null(ccpmc)ccpmc=En difIf Type(ccpmc)vCccpmc= Alltrim (Str (ccpmc)Elseccpmc=Trim (ccpmc)En difSelect StoreReplace rq With crq,dh With cdh,dwmc With cdwmc,gg WithcggjldwWith cjldw,sl Withnsl,chWith cch,cpbh With cxh
45、,cpmc With ccpmci=i+1&如果一行全為空,記作記錄到底,如果中間存在多行的問題,我沒有做考慮*If Empty (cxh) And nsl=0 And Empty(cch) And Empty(cjldw) And Empty(cdh) And Empty(cgg)ise nd=.T.En difEn ddoDele&最后一行為空行,刪除Wait 共轉換得到+Alltrim (Str ( Reccount ()+ 條記錄!Win dow Timeout 2hbl.Quit*!* 75 本程序通過將原dbf表拷成excel格式,然后導入并設置報表格式Para table nam
46、e Local hb1 As excel. Applicati onWait正在導岀數據,請稍侯Win dow At20,30 Timeout 1bhaveerror=.F.&定義一個變量判斷是否發(fā)生錯誤Tryhb1= Createobject (excel.applicati on)CatchMessagebox (請檢查你是否已安裝 microsoft excel 應用程序! ,0,提示)bhaveerror=.T.En dtryIf bhaveerror=.T.Retur nEndifIf Right(curr_path,1)7curr_path=curr_path+/Endif cta
47、blename=tablename+_excelfilepath=curr_path+temp/sheet1.xls*filepath=temp/sheet1.xlsIf ! File (filepath)Messagebox(數據源的excel文件未生成,報表生成被終止!)Retur nEndif HB1.workbooks. Open(filepath)HB1.SHEETS(sheet1). Select hb1.sheets(1). Rows(1).entirerow.Insert hb1.sheets(1). Rows(1).e ntirerow.In sertSele(ctable
48、name)nfieldcount=Fcou nt ()nreccount= Reccount ()hbdygs=A1:+ Chr( nfieldcou nt+64)+2HB1.Range(hbdygs). Select *合并兩行作為報表標題* HB1. Selection .HorizontalAlignment = 3&水平方向 2 左對齊,3 居中,4 右對齊 HB1.Selection .VerticalAlignment = 2&垂直方向 1 靠上,2 居中,3 靠下HB1.Selection .WrapText = .F.& ?HB1.Selection .Orie ntation
49、 =0 & ? HB1.Selectio n .Add In de nt = .F.& ?HB1.Selectio n .Shri nkToFit=.F.& ? HB1.Selection .MergeCells = .T.請輸入報表標題“& ?HB1.Range(hbdygs).FormulaR1C1 =HB1. Ran ge(hbdygs).Characters.HB1. Ran ge(hbdygs).Characters.HB1. Ran ge(hbdygs).Characters.Font. Name =隸書Font.FontStyle =常規(guī)“Font .ColorIndex = 1
50、&字符顏色*根據數據源表結構的寬度設置列的寬度* Copy Stru ExteTo temp/term_stru Sele OUse temp/term_stru Select (ctable name) For i=1 To n fiel dcountcvalue= Allt ( Field (i)Select term_struLoca For Lower (Allt (field_name)=cvalueIf Fou nd ()colum nn ame= Chr(i+64)+:+Chr(i+64)hb1. Columns(columnname).ColumnWidth=field_len
51、EndifSele(ctable name) En dforSele term_stru Useactivecellname= Chr(nfieldcount+64)+ Allt ( Str (nreccount+3)*設置數據區(qū)域的字體格式*HB1.Range(A3:+activecellname).Characters.Font. Name =宋體HB1.Range(A3:+activecellname).Characters.Font. Size = 9HB1.Ra nge(A3:+activecell name).Select hb1. Selecti on .BorderS(1).L
52、 in eStyle = .T.hb1. Selection .BorderS(2).linestyle = .T.hb1. Selection .BorderS(3).linestyle = .T.hb1. Selection .BorderS(4).linestyle = .T.hb1.ActiveWorkbook. SaveAs(c:/aa.xls)hb1. Application. Visible =.T. * HB1.ACTIVEWORKBOOK.SAVE &自動保存數據* HB1.ACTIVEWORKBOOK.CLOSE 關閉當前工作簿* HB1.QUIT*!* 76 .如何修改
53、sheet 工作表名:EFILENAME=D:/TEST/TEMPA.XLSoExcel= Createobject (Excel.applicati on)oExcel.Workbooks. Open(&EFILENAME)oExcel. Visible =.T.oExcel.Worksheets(Sheet2). Select oExcel.Worksheets(Sheet2).Name=NewSheet&這里的NewSheet為新的名字。*!* 77 .復制 Sheet 工作表 EFILENAME=D:/ 你的 Excel 表名.XLSoExcel= Createobject (Excel.applicati on)oExcel.Workbooks. Open(&EFILENAME)oExcel. Visible =.T.oExcel.SHEETS(l). Select oExcel.SHEETS(1).Copy( Null ,oExcel.SHEETS(1)&陵巴第 1 個工作表復制到第 1個工作表之后 oExcel.SHEETS(2). Name=NewSheetName &設置第2個工作表 名稱*!*oExcel.SHEETS(1).COPY(oExcel.S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一體化物業(yè)管理與維護服務協議范本版A版
- 二零二五年度鮮活農產品運輸合同協議及保鮮技術要求3篇
- 2025年度智能制造廠房租賃居間服務協議4篇
- 2024版有關服務的合同匯編
- 專業(yè)技術資訊檢索服務協議范本一
- 2025年度廠房建設項目工程監(jiān)理合同范本4篇
- 2025年度茶葉產品追溯系統建設合同4篇
- 專用飲用水品質保障合同范本2024版B版
- 2025年度常年法律顧問專項服務合同7篇
- 2025年度體育健身中心場地租賃及會員服務合同4篇
- 《流感科普宣教》課件
- 離職分析報告
- 春節(jié)家庭用電安全提示
- 醫(yī)療糾紛預防和處理條例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數學寒假作業(yè)1
- 保險產品創(chuàng)新與市場定位培訓課件
- (完整文本版)體檢報告單模版
- 1例左舌鱗癌手術患者的圍手術期護理體會
- 鋼結構牛腿計算
評論
0/150
提交評論