經過vb.net 和NPOI實現對excel的讀操做,好久好久前用過vb,此次朋友的代碼是vb.net寫的須要一個excel的操做,.net
就顧着着實現功能了,你們湊合着看吧excel
Option Explicit On Imports NPOI.SS.UserModel Imports System.IO Public Class ExcelHelper Public Shared Function ImportExcel(ByVal strSource As String) As DataTable Dim hssfWorkbook As IWorkbook Dim sheet As ISheet Dim rows As System.Collections.IEnumerator Dim dt As DataTable Dim icount As Int32 Dim row As IRow Dim dr As DataRow Dim cell As ICell hssfWorkbook = WorkbookFactory.Create(FileToStream(strSource)) sheet = hssfWorkbook.GetSheetAt(0) rows = sheet.GetRowEnumerator() icount = 0 dt = New DataTable() While rows.MoveNext() icount = icount + 1 row = rows.Current dr = dt.NewRow For i As Int32 = 0 To row.LastCellNum cell = row.GetCell(i) If cell Is Nothing Then 'dr(i) = DBNull.Value Else If icount = 1 Then dt.Columns.Add(cell.ToString) End If dr(i) = cell.ToString End If Next dt.Rows.Add(dr) End While dt.Rows.RemoveAt(0) Return dt End Function Public Shared Function FileToStream(ByVal fileName As String) As Stream '打開文件 Dim fileStream As FileStream fileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read) '讀取文件的 byte() Dim bytes() As Byte = New Byte(fileStream.Length) {} fileStream.Read(bytes, 0, bytes.Length) fileStream.Close() '把 byte()轉換成 Stream Dim stream As Stream = New MemoryStream(bytes) Return stream End Function End Class