中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

關(guān)于vb.netxls的信息

我是用vb.net操作Excel報(bào)錯(cuò),請大家?guī)臀铱纯词鞘裁丛??謝謝了。

代碼看上去是沒錯(cuò)的,你要不重新引用一下excel的,或重新安裝一下office版本,現(xiàn)在有些系統(tǒng)是直接用ghost恢復(fù)的,所以excel也可能是簡單的版本,或2003版本的安裝了2007的升級包

在墨竹工卡等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,墨竹工卡網(wǎng)站建設(shè)費(fèi)用合理。

vb.net怎么訪問excel表格

我的是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 '設(shè)置EXCEL對象可見(或不可見)

Set xlSheet = xlBook.Worksheets("表名") '設(shè)置活動(dòng)工作表

xlSheet.Cells(row, col) =值 '給單元格(row,col)賦值

xlSheet.PrintOut '打印工作表

xlBook.Close (True) '關(guān)閉工作簿

xlApp.Quit '結(jié)束EXCEL對象

Set xlApp = Nothing '釋放xlApp對象

xlBook.RunAutoMacros (xlAutoOpen) '運(yùn)行EXCEL啟動(dòng)宏 xlBook.RunAutoMacros (xlAutoClose) '運(yùn)行EXCEL關(guān)閉宏

還有很多,這個(gè)要自己慢慢摸索

VB.net對Excel條件格式

首先,須在項(xiàng)目里引用: 添加引用-Com-Microsoft Excel 9.0 Object Library (這是EXCEL2000)

1 打開Excel: dim myexcel as new Excel.Application() myexcel.visible=true

2 添加新的工作簿: myexcel.Workbooks.add()

3 設(shè)定第二個(gè)工作表為活動(dòng)工作表: myexcel.worksheets(2).Acivate()

4 打開指定的Excel文件: myexcel.workbooks.open("c:\my.xls")

5 顯示Excel窗口: myexcel.visible=true

6 更改Excel的標(biāo)題欄: myexcel.caption="歡迎,歡迎!"

7 為Excel的單元格賦值: myexcel.cells(1,4).value=100 此語句使Excel當(dāng)前工作表的第一行第四列,即D1單元格等于100, 也可以這樣寫: myexcel.Range("D1").value=100

8 設(shè)置指定列的寬度(單位:字符個(gè)數(shù)): myexcel.ActiveSheet.colums(1).columnwidth=20 設(shè)定當(dāng)前工作表第1列的寬度為20

9 設(shè)置指定行的高度(單位:磅): myexcel.ActiveSheet.rows(1).rowHeight=1/0.035 1磅 =0.035厘米 設(shè)置第1行的高度為1CM

10 插入分頁符: myexcel.Activesheet.rows(20).pagebreak=1 在第20行前插入分頁符

11 刪除分頁符: myexcel.Activesheet.columns(20).pagebreak=0 在第20列前刪除分頁符

12 指定邊框線的寬度: myexcel.Activesheet.range("B3:D3").borders(1).weight=3 其中borders參數(shù)指定單元格邊框的位置: 1:左 2:右 3:頂 4:底 5:斜\ 6:斜/

13 指定邊框線條的類型: myexcel.Activesheet.range("B1:D3").borders(2).linestyle=1 此語句將當(dāng)前工作表的B1:D3單元格的右邊框設(shè)置為實(shí)線 linestyle參數(shù): 1:細(xì)實(shí)線 2:細(xì)虛線 3:點(diǎn)虛線 4:雙細(xì)實(shí)線

14 設(shè)置頁腳: myexcel.activesheet.pagesetup.centerfooter="第p頁" 注意:設(shè)置頁眉頁腳時(shí)要保證計(jì)算機(jī)上裝有打印機(jī),否則出錯(cuò)!

15 設(shè)置頁眉: myexcel.activesheet.pagesetup.centerfooter="第p頁"

16 設(shè)置頁眉到頂斷距離為2cm: myexcel.Activesheet.pagesetup.Headermargin=2/0.035

17 設(shè)置頁腳到底端距離為2cm: myexcel.Activesheet.pagesetup.Footermargin=2/0.035

18 設(shè)置頂邊邊距為2cm: myexcel.Activesheet.pagesetup.topmargin=2/0.035

19 設(shè)置底邊邊距為2cm: myexcel.Activesheet.pagesetup.Bottommargin=2/0.035

20 設(shè)置左邊邊距為2cm: myexcel.Activesheet.pagesetup.Leftmargin=2/0.035

21 設(shè)置右邊邊距為2cm: myexcel.Activesheet.pagesetup.Rightmargin=2/0.035

22 設(shè)置頁面水平居中: myexcel.activesheet.pagesetup.CenterHorizontally=true

23 設(shè)置頁面垂直居中: myexcel.activesheet.pagesetup.Centervertically=true

24 設(shè)置頁面紙張大小 (1,窄行 8.5*11 ;39 ,寬行 14*11): myexcel.activesheet.pagesetup.papersize=1

25 打印單元格網(wǎng)格線: myexcel.activesheet.pagesetup.PrintGridlines=true

26 復(fù)制整個(gè)工作表 : myexcel.activesheet.Usedrange.Copy

27 復(fù)制指定區(qū)域 : myexcel.activesheet.range("a1:b5").Copy

28 粘貼: myexcel.worksheets("sheet2").range("A1").PasteSpecial

29 在第2行前插入一行 : myexcel.activesheet.rows(2).Insert

30 在第2列前插入一列 : myexcel.Activesheet.Columns(2).Insert

31 合并 C4:D4 單元格: myexcel.Activesheet.Range("C4:D4").Merge()

32 自動(dòng)調(diào)整第2列列寬: myexcel.activesheet.Columns(2).AutoFit

33 設(shè)置字體: myexcel.Activesheet.cells(2,1).font.name="黑體"

34 設(shè)置字體大小: myexcel.Activesheet.cells(2,1).font.size=25

35 設(shè)置字體為斜體: myexcel.Activesheet.cells(2,1).font.Italic=true

36 設(shè)置字體為粗體: myexcel.Activesheet.cells(2,1).font.Bold=true

37 清除單元格內(nèi)容: myexcel.activesheet.cells(2,1).ClearContents

38 打印預(yù)覽工作表: myexcel.Activesheet.PrintPreview

39 打印工作表: myexcel.Activesheet.Printout

40 工作表另存為: myexcel.ActiveWorkbook.saveas("C:\book2.xls")

41 放棄存盤: myexcel.ActiveWorkbook.saved=false

42 關(guān)閉工作簿: myexcel.Workbooks.close

43 退出 Excel: myexcel.quit

清楚了這些命令,操作excel不就變的很輕松了!

vb.net EXCEL 問題

使用了VB.NET開發(fā)一個(gè)訪問excel讀取數(shù)據(jù)并修改的小程序,有一些經(jīng)驗(yàn)性的東西和大家共享,如果有誤還請大家指正。

大致分為這樣幾個(gè)部分來說明:

1、 準(zhǔn)備部分:

準(zhǔn)備部分我們需要添加excel library的引用到工程中:我使用office2003,它的庫文件為 Microsoft excel 11.0 object library。如果使用excel2000,那么它使用的是Microsoft excel 9.0 object library。

有需要時(shí),我們添加Imports 命名空間。

我在這個(gè)程序中只是訪問了excel的數(shù)據(jù),不需要命名空間了哈。

2、 聲明一些對象:

這些對象并不是都需要,前面三個(gè)應(yīng)該有,后面的,你需要什么對象就聲明:

Dim excelapp As Excel.Application ‘聲明一個(gè)application對象

Dim excelworkbook As Excel.Workbook ‘聲明一個(gè)工作簿對象

Dim excelsheet As Excel.Worksheet ‘聲明一個(gè)工作表對象

等等…如:

Dim excelrange As Excel.Range ‘聲明一個(gè)范圍對象

3、 訪問一個(gè)excel文件:

excelapp = New Excel.Application

excelworkbook = excelapp.Workbooks.Open(strfile) ‘訪問到工作簿:這個(gè)strfile 是文件的路徑,我從打開文件對話框中得到的。

excelsheet = excelworkbook.Sheets.Item(1) ‘訪問到工作表:item使用索引值來得到sheet對象的引用

excelsheet.activate

我們可以得到此文件中的值:

定義一個(gè)string變量:

Dim strcellvalue as string

Strcellvalue=excelsheet.cells(1,1).value ‘得到A1單元格的內(nèi)容。

修改的時(shí)候反過來就可以了:

excelsheet.cells(1,1).value= Strcellvalue

4、 善后:

在程序的每一個(gè)退出口操作excel對象,保存或者不保存:

Excelworkbook.save

Excelworkbook.close

Excelapp=nothing

5其它:

需要注意~上面的代碼需要一些容錯(cuò)機(jī)制,比如:

If Not excelworkbook Is Nothing Then 這樣的話來達(dá)到程序的正確運(yùn)行

需要判斷現(xiàn)在excel又沒有打開。如果有excel進(jìn)程正在運(yùn)行。你的代碼很可能會(huì)影響到打開的excel,像Excelworkbook.close這樣的語句雖然前面已經(jīng)很好的唯一指定了工作簿,但不能很武斷的進(jìn)行魯莽的操作,我們需要判斷現(xiàn)在excel的運(yùn)行情況。

另外,VB.NET 讀取Excel 2007的xlsx文件和讀取老的.xls文件是一樣的,都是用Oledb讀取,僅僅連接字符串不同而已。讀取xlsx 用的是Microsoft.Ace.OleDb.12.0;具體操作方法如下:

Public Shared Function GetExcelToDataTableBySheet(ByVal FileFullPath As String, ByVal SheetName As String) As DataTable

'string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + FileFullPath + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; //此連接只能操作Excel2007之前(.xls)文件

Dim strConn As String = ("Provider=Microsoft.Ace.OleDb.12.0;" "data source=") + FileFullPath ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"

'此連接可以操作.xls與.xlsx文件

Dim conn As New OleDbConnection(strConn)

conn.Open()

Dim ds As New DataSet()

Dim odda As New OleDbDataAdapter(String.Format("SELECT * FROM [{0}]", SheetName), conn)

'("select * from [Sheet1$]", conn);

odda.Fill(ds, SheetName)

conn.Close()

Return ds.Tables(0)

End Function

讀取Excel文件時(shí),可能一個(gè)文件中會(huì)有多個(gè)Sheet,因此獲取Sheet的名稱是非常有用的。根據(jù)Excel物理路徑獲取Excel文件中所有表名的具體操作方法如下:

Public Shared Function GetExcelSheetNames(ByVal excelFile As String) As [String]()

Dim objConn As OleDbConnection = Nothing

Dim dt As System.Data.DataTable = Nothing

Try

'string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + excelFile + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; //此連接只能操作Excel2007之前(.xls)文件

Dim strConn As String = ("Provider=Microsoft.Ace.OleDb.12.0;" "data source=") + excelFile ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"

'此連接可以操作.xls與.xlsx文件

objConn = New OleDbConnection(strConn)

objConn.Open()

dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)

If dt Is Nothing Then

Return Nothing

End If

Dim excelSheets As [String]() = New [String](dt.Rows.Count - 1) {}

Dim i As Integer = 0

For Each row As DataRow In dt.Rows

excelSheets(i) = row("TABLE_NAME").ToString()

i += 1

Next

Return excelSheets

Catch

Return Nothing

Finally

If objConn IsNot Nothing Then

objConn.Close()

objConn.Dispose()

End If

If dt IsNot Nothing Then

dt.Dispose()

End If

End Try

End Function

網(wǎng)頁名稱:關(guān)于vb.netxls的信息
URL標(biāo)題:http://www.rwnh.cn/article40/doshoho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站收錄、服務(wù)器托管定制網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
若尔盖县| 佛山市| 拉孜县| 太白县| 通河县| 阳东县| 太和县| 永城市| 昌图县| 锦屏县| 陆丰市| 余姚市| 华亭县| 淅川县| 阜阳市| 新乐市| 云安县| 霍城县| 汉源县| 肃宁县| 梁平县| 双鸭山市| 北流市| 岫岩| 临高县| 神农架林区| 富源县| 买车| 克东县| 环江| 吴川市| 峨边| 手机| 广水市| 沙田区| 同德县| 穆棱市| 福海县| 昭通市| 霞浦县| 保山市|