1、調(diào)用Excel對象打開EXCEL文件后,讀取文件內(nèi)容
成都創(chuàng)新互聯(lián)公司是專業(yè)的長泰網(wǎng)站建設公司,長泰接單;提供成都做網(wǎng)站、成都網(wǎng)站建設、成都外貿(mào)網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行長泰網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
***************************************
在VB中要想調(diào)用Excel,需要打開VB編程環(huán)境“工程”菜單中的“引用”項目,并選取項目中的“MicrosoftExcel 11.0 object library”項。由于你的Excel版本不同,所以這個選項的版本號也是不同的。
因為EXCEL是以層次結(jié)構(gòu)組織對象的,其對象模型中含有許多不同的對象元素。
第一層:Application對象,即Excel本身;
第二層:workbooks對象集,指Excel的工作簿文件
第三層:worksheets對象集,表示的是Excel的一個工作表;
第四層:Cells和Range對象,指向Excel工作表中的單元格。
新建立一個VB的工程,先放一個button,名稱為Excel_Out。先定義好各層:
Dim xlapp As Excel.Application 'Excel對象
Dim xlbook As Excel.Workbook '工作簿
Dim xlsheet As Excel.Worksheet '工作表
我們打算做的是:打開/新建一個excel,在其中對某工作表的一些單元格修改其值,然后另存為test.xls文件。
Private Sub Excel_Out_Click()
Dimi, j As Integer
Setxlapp = CreateObject("Excel.Application") '創(chuàng)建EXCEL對象
'Set xlbook = xlapp.Workbooks.Open(App.Path "\test.xls")'打開已經(jīng)存在的test.xls工件簿文件
Setxlbook = xlapp.Workbooks.Add '新建EXCEL工件簿文件
'xlbook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏
'xlbook.RunAutoMacros (xlAutoClose) '運行EXCEL關閉宏
xlapp.Visible = True '設置EXCEL對象可見(或不可見)
Setxlsheet = xlbook.Worksheets(1) '設置活動工作表''
''~~~當前工作簿的第一頁,這里也可以換成“表名”
'下面就是簡單的在一些單元格內(nèi)寫入數(shù)字
Fori = 7 To 15
For j = 1 To 10
xlsheet.Cells(i, j) = j '當前工作簿第一頁的第I行第J列
Next j
Nexti
Withxlsheet '設置邊框為是實線
.Range(.Cells(7, 1), .Cells(28, 29)).Borders.LineStyle = xlContinuous
EndWith
'引用當前工作簿的第二頁
Setxlsheet = xlapp.Application.Worksheets(2)
xlsheet.Cells(7, 2) = 2008 '在第二頁的第7行第2列寫入2008
xlsheet.SaveAsApp.Path"\test.xls" '按指定文件名存盤
'Setxlbook = xlapp.Application.Workbooks.Add '新建一空白工作簿
xlapp.Quit '結(jié)束EXCEL對象'xlapp.Workbooks.Close
Setxlapp = Nothing '釋放xlApp對象
End Sub
這樣,我們就可以簡單的對excel文件進行操作了。下面再放一些我從網(wǎng)上查到的資料吧,還挺有用的:
1.創(chuàng)建Excel對象
eole=CREATEOBJECT(′Excel.application′)
2.添加新工作簿
eole.Workbooks.add
3.設置第3個工作表為激活工作表
eole.Worksheets(〃sheet3〃).Activate
4.打開指定工作簿
eole.Workbooks.Open(〃c:\temp\ll.xls〃)
5.顯示Excel窗口
eole.visible=.t.
6.更改Excel標題欄
eole.Caption=〃VB應用程序調(diào)用Microsoft Excel〃
7.給單元格賦值
eole.cells(1,4).value=XM(XM為數(shù)據(jù)庫字段名)
8.設置指定列的寬度(單位:字符個數(shù))
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參數(shù)如下)
ole.ActiveSheet.Range(〃b3:d3〃).Borders(2).Weight=3
13.設置四個邊框線條的類型
eole.ActiveSheet.Range(〃b3:d3〃).Borders(2).LineStyle=1
(其中Borders參數(shù):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.打印單元格網(wǎng)線
eole.ActiveSheet.PageSetup.PrintGridlines=.t.
26.拷貝整個工作表
eole.ActiveSheet.UsedRange.Copy
27.拷貝指定區(qū)域
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:\temp\22.xls〃)
39.放棄存盤
eole.ActiveWorkbook.saved=.t.
40.關閉工作簿
eole.Workbooks.close
41.退出Excel
eole.quit
***************************************
2、調(diào)用ADO對象以數(shù)據(jù)庫方式打開EXECL文件后,以SQL語句方式讀取文件
***************************************
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" DBQ=" App.Path ";", "", ""
rs.Open "select * from [test$]", conn, adOpenStatic, adLockReadOnly, adCmdText
Set Read_Text_File = rs
Set rs = Nothing
Set conn = Nothing
***************************************
單純的說怎么讀取很簡單,假設你的控件名稱為A,則? A.text = “sheet1.cells(2,2).value”
下面給出VB.NET 的完整代碼:
Public?Class?Form1
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click
Dim?DataSPath?As?String
DataSPath?=?"C:\a.xls"
Dim?ExlApp?=?CreateObject("Excel.Application")
Dim?xlbook?=?ExlApp.Workbooks
Dim?xlbk?=?ExlApp.workbooks.Open(DataSPath)
Dim?St1?=?xlbk.worksheets(1)
TextBox1.Text?=?DataSPath??"?表1中?"??St1.cells(2,?2).value
St1?=?Nothing
xlbook?=?Nothing
ExlApp?=?Nothing
MsgBox("OK",?MsgBoxStyle.Exclamation,?"Tudy")
End?Sub
End?Class
我的是2007版本,其它類似
1.在工程中引用Microsoft Excel 12.0 Object Library
2、在通用對象的聲明過程中定義EXCEL對象:
Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet
3、在程序中操作VB.NET EXCEL常用命令:
Set xlApp = CreateObject("Excel.Application") '創(chuàng)建EXCEL對象
Set xlBook = xlApp.Workbooks.Open("文件名") '打開已經(jīng)存在的EXCEL工件簿文件
xlApp.Visible = True '設置EXCEL對象可見(或不可見)
Set xlSheet = xlBook.Worksheets("表名") '設置活動工作表
xlSheet.Cells(row, col) =值 '給單元格(row,col)賦值
xlSheet.PrintOut '打印工作表
xlBook.Close (True) '關閉工作簿
xlApp.Quit '結(jié)束EXCEL對象
Set xlApp = Nothing '釋放xlApp對象
xlBook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏 xlBook.RunAutoMacros (xlAutoClose) '運行EXCEL關閉宏
還有很多,這個要自己慢慢摸索
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlRange As Excel.Range
Dim strTmp As String = ""
xlApp = CreateObject("Excel.Application")
xlBook = xlApp.Workbooks.Open(txtfileName.Text)
xlSheet = xlBook.Worksheets(1)
xlApp.Visible = False
xlRange = xlSheet.Cells(1, 1)
strTmp = xlRange.Value'讀取第一行第一列值,其它的你自己可以寫
xlApp.Application.Visible = False
xlBook.Close()
xlApp = Nothing'"交還控制給Excel
xlBook = Nothing
xlSheet = Nothing