通过vb.net 和NPOI实现对excel的读操作
2024-08-31 04:59:27
通过vb.net 和NPOI实现对excel的读操作,很久很久前用过vb,这次朋友的代码是vb.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
最新文章
- 当master down掉后,pt-heartbeat不断重试会导致内存缓慢增长
- queen8
- Ubuntu / Win7 安装db2 v10.5
- Redis安装及配置(Linux)
- Qt之QHeaderView排序
- U盘装系统出现错误 安装失败怎么办
- php preg_match 和preg_match_all
- 动态Pivot(2)
- spring mvc MultipartFile 上传文件错误解决
- 网页html结构搭建方法总结
- C++ 派生类到基类转换的可访问性
- TCP的三次握手与四次挥手
- 【MIT-6.824】Lab 1: MapReduce
- JS中substring与substr的用法
- java面试基础题------》Java 中List、Set、Map异同点
- 产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗?
- .Net开发工程师工具箱
- HDU 1428
- hibernate、java、数据库对应类型
- js对LocalDateTime时间的格式化成yyyy-MM-dd HH:mm:ss