vb.net操作xlsx的簡單介紹

vb.net EXCEL 問題

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

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比九龍坡網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式九龍坡網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋九龍坡地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

大致分為這樣幾個部分來說明:

1、 準備部分:

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

有需要時,我們添加Imports 命名空間。

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

2、 聲明一些對象:

這些對象并不是都需要,前面三個應該有,后面的,你需要什么對象就聲明:

Dim excelapp As Excel.Application ‘聲明一個application對象

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

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

等等…如:

Dim excelrange As Excel.Range ‘聲明一個范圍對象

3、 訪問一個excel文件:

excelapp = New Excel.Application

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

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

excelsheet.activate

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

定義一個string變量:

Dim strcellvalue as string

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

修改的時候反過來就可以了:

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

4、 善后:

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

Excelworkbook.save

Excelworkbook.close

Excelapp=nothing

5其它:

需要注意~上面的代碼需要一些容錯機制,比如:

If Not excelworkbook Is Nothing Then 這樣的話來達到程序的正確運行

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

另外,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文件時,可能一個文件中會有多個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

vb.net獲取excel頁面高度

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

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

3 設定第二個工作表為活動工作表myexcel.worksheets(2).Acivate()

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

5 顯示Excel窗口myexcel.visible=true

6 更改Excel的標題欄myexcel.caption=“歡迎,歡迎!”

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

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

9 設置指定行的高(單位:磅)myexcel.ActiveSheet.rows(1).rowHeight=1/0.035 1磅 =0.035厘米設置第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此語句將當前工作表的B1:D3單元格的右邊框設置為實線 linestyle參數(shù): 1:細實線 2:細虛線 3:點虛線 4:雙細實線

14 設置頁腳myexcel.activesheet.pagesetup.centerfooter=“第p頁” 注意:設置頁眉頁腳時要保證計算機上裝有打印機,否則出錯!

15 設置頁眉myexcel.activesheet.pagesetup.centerfooter=“第p頁”

16 設置頁眉到頂斷距離為2cmmyexcel.Activesheet.pagesetup.Headermargin=2/0.035

17 設置頁腳到底端距離為2cmmyexcel.Activesheet.pagesetup.Footermargin=2/0.035

18 設置頂邊邊距為2cmmyexcel.Activesheet.pagesetup.topmargin=2/0.035

19 設置底邊邊距為2cmmyexcel.Activesheet.pagesetup.Bottommargin=2/0.035

20 設置左邊邊距為2cmmyexcel.Activesheet.pagesetup.Leftmargin=2/0.035

21 設置右邊邊距為2cmmyexcel.Activesheet.pagesetup.Rightmargin=2/0.035

22 設置頁面水平居中myexcel.activesheet.pagesetup.CenterHorizontally=true

23 設置頁面垂直居中myexcel.activesheet.pagesetup.Centervertically=true

24 設置頁面紙張大小 (1,窄行8.511 ;39 ,寬行1411) myexcel.activesheet.pagesetup.papersize=1

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

26 復制整個工作表 myexcel.activesheet.Usedrange.Copy

27 復制指定區(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 自動調整第2列列寬 myexcel.activesheet.Columns(2).AutoFit

33 設置字體myexcel.Activesheet.cells(2,1).font.name=“黑體”

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

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

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

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

38 打印預覽工作表myexcel.Activesheet.PrintPreview

39 打印工作表 myexcel.Activesheet.Printout

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

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

42 關閉工作簿 myexcel.Workbooks.close

43 退出 Excel myexcel.quit

44 紙張橫向:myexcel.activesheet.PageSetup.OrientaTion=2(1縱向)

45 單元格居中:cells(2,1).HorizontalAlignment=Excel.XlHAlign.xlHAlignCenter 水平方向cells(2,1).VerticalAlignment=Excel.XlVAlign.xlVAlignCenter 垂直方向

打開CSDN APP,看更多技術內容

VB調用Excel軟件實現(xiàn)打印預覽功能

摘要:VB源碼,報表打印,打印預覽VB調用Excel軟件實現(xiàn)打印預覽功能,可以插入折線圖,VB打印預覽功能示例源碼,分享給大家參考。

用vb操作EXCEL打印報表

最近使用vb來打印報表,打印出來的EXCEL一直無法上傳到ftp 反復多次問題都沒解決, 200 PORT command successful. Consider using PASV. 問題出在這,由于win10的防火墻的原因,關閉防火墻后問題得到解決. 轉載于:...

繼續(xù)訪問

VB操作excel 格式設置及打印頁面設置(精簡)

langue:VB Set ExcelApp = CreateObject("Excel.Application") ’創(chuàng)建資源,建立連接 Set ExcelBook = ExcelApp.Workbooks.Open(“d:\pipo\index.htm") Set ExcelSheet = ExcelBook.Worksheet...

繼續(xù)訪問

vb.net excel操作:填充人事檔案表并打印

節(jié)選自:《Visual Basic.Net 循序漸進》【例 21.7】【項目:code21-007】填充人事檔案表并打印。 本例使用到的Excel文件為:職員信息登記表.xlsx,如下圖所示: 圖21-10 職員信息登記表 窗體設計如下圖所示(注意:為了演示方便,已經(jīng)填充了數(shù)據(jù)): 圖21-11 窗體設計 在本例中還需要掌握的知識: 1、插入圖片到指定位置 Worksheet.Shapes.AddPicture(Filename, LinkToFile, SaveWithDocumen

繼續(xù)訪問

vb.net操作Excel常用命令

轉載: 首先,須在項目里引用: 添加引用-Com-Microsoft Excel 9.0 Object Library (這是EXCEL2000) 1 打開Excel: dim myexcel as new Excel.Application() myexcel.visib...

繼續(xù)訪問

vb.net 如何實現(xiàn)報表打印_Excel如何實現(xiàn)分類別打印?創(chuàng)建組輕松實現(xiàn)

有朋友咨詢個關于Excel打印數(shù)據(jù)問題,他的需求是這樣的:下表中是某公司人員信息表,現(xiàn)在領導要求將表格分部門打印出來,每位員工核對個人信息并簽字。需求很明確,就是將相同部門的人員打印到一張紙上。打印很簡單,難點在于如何按每個部門去打???如果部門較少的話可以將不同部門復制到不同插頁中,再進行打印;但是如果部門較多的話,這種辦法實在不可?。挥行』锇楸硎究梢岳肰BA技術將部門拆分到各個插頁,在進行打印...

繼續(xù)訪問

最新發(fā)布 vb.net 教程 11-1 打印組件 3 PageSetupDialog

版權聲明:本文為博主原創(chuàng)文章,轉載請在顯著位置標明本文出處以及作者網(wǎng)名,未經(jīng)作者允許不得用于商業(yè)目的。 本節(jié)談談另外一個有關打印的對話框:PageSetupDialog,頁面設置對話框 實際我們是通過這個對話框獲得PageSetting,關于PageSetting在上一節(jié)有部分介紹,請參看 vb.net 教程 11-1 打印組件 PrintDialog 2 注意的是,使用PageSetupDialog需要綁定一個PrintDocument,在PageSetupDialog的Document屬性處

繼續(xù)訪問

VB.NET使用EXCEL常見操作

首先,須在項目里引用: 添加引用Microsoft.Office.Interop.Excel Imports Excel = Microsoft.Office.Interop.Excel 1 打開Excel: Dim myexcel as new Excel.Application() myexcel.visible=true 2 添加新的工作簿: myexcel.Workbooks.ad

繼續(xù)訪問

【VB Excel】VB 操作Excel基本步驟

VB操作EXCEL,實現(xiàn)數(shù)據(jù)讀取 1、定義Excel操作變量 Dim objExcelFile As Excel.Application Dim objWorkBook As Excel.Workbook Dim objImportSheet As Excel.Worksheet 2、打開Excel進程,并打開目標Exc...

繼續(xù)訪問

vba代碼編程800例_如何設置Excel打印格式,學會這個VBA對象就可以隨心所欲

NO.1 Excel如何設置打印格式使用vba可以做打印格式處理,如何做一個漂亮的打印頁面,不外乎要設置打印表格的邊框、版式、頁眉、頁角等等。那么怎樣設置這些格式呢?NO.2 PageSetup對象vba編程用到Pagesetup對象,對表格打印進行設置。PageSetup對象有許多屬性,下面圖片里列出了大部分常用的屬性,可以對照進行設置。具體方法下面舉個例子來展示一下最終效果。PageSetup...

繼續(xù)訪問

vb.net操作excel文件

[轉自] vb.net操作excel文件 要求將數(shù)據(jù)顯示在Excel表中,并且要設好數(shù)據(jù)格式。雖說如此,真正實現(xiàn)了自己的功能,還是費了不少時間。相信還是有很多與我相似的人需要實現(xiàn)這種功能。那就做個小結吧。不妥之處,請指正哦。 1.添加引用–com—microsoft excel 11.0 object library 2在需要訪問excel的過程中定義 dim exapp as excel.a

繼續(xù)訪問

VB.net使用PrintForm打印窗體

在VS2010中內置了了一個PowerPacks的擴展包,果然很好用啊,可以直接打印窗體內容 先從"工具箱"中拖一個PrintForm到設計好的窗體中 然后在窗體里加了個打印的按鈕,對應代碼如下 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.

繼續(xù)訪問

熱門推薦 開源:.NET環(huán)境下有關打印頁面設置、打印機設置、打印預覽對話框的實現(xiàn)與應用(2)

!--google_ad_client = "pub-0022674553583619";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_type = "text_image";google_ad_channel ="";google_color_

繼續(xù)訪問

vb.net 設置打印紙張與頁邊距_機關公文格式設置規(guī)范(最新整理版)

本方法根據(jù)《黨政機關公文格式國家標準》(GB/T9704-2012)制定。具體內容如下:一、辦公軟件要求適用于微軟OFFICE—WORD文字處理軟件。二、頁面設置1.選擇“文件”——“頁面設置”選擇“頁邊距”附簽,上:3.7厘米,下:3.5厘米,左:2.8厘米,右:2.6厘米。2.選擇“紙張”附簽,“紙張大小”設成“A4”。3.選擇“版式”附簽,將“頁眉和頁腳”設置成“奇偶頁不同”,在該...

繼續(xù)訪問

VB.NET EXCEL 操作

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

Set xlSheet = xlBook.Worksheets("表名") '設置活動工作表

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

xlSheet.PrintOut '打印工作表

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

xlApp.Quit '結束EXCEL對象

Set xlApp = Nothing '釋放xlApp對象

xlBook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏 xlBook.RunAutoMacros (xlAutoClose) '運行EXCEL關閉宏

還有很多,這個要自己慢慢摸索

網(wǎng)頁標題:vb.net操作xlsx的簡單介紹
URL網(wǎng)址:http://muchs.cn/article32/ddcissc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作品牌網(wǎng)站建設、域名注冊、網(wǎng)站建設、響應式網(wǎng)站、ChatGPT

廣告

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

商城網(wǎng)站建設