博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过vb.net 和NPOI实现对excel的读操作
阅读量:5804 次
发布时间:2019-06-18

本文共 1841 字,大约阅读时间需要 6 分钟。

通过vb.net 和NPOI实现对excel的读操作,很久很久前用过vb,这次朋友的代码是vb.net写的需要一个excel的操作,

就顾着着实现功能了,大家凑合着看吧

Option Explicit OnImports NPOI.SS.UserModelImports System.IOPublic 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 FunctionEnd Class

 

转载于:https://www.cnblogs.com/realso/p/8275736.html

你可能感兴趣的文章
(六)Oracle学习笔记—— 约束
查看>>
[Oracle]如何在Oracle中设置Event
查看>>
top.location.href和localtion.href有什么不同
查看>>
02-创建hibernate工程
查看>>
Scrum之 Sprint计划会议
查看>>
svn命令在linux下的使用
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
SpringCloud使用Prometheus监控(基于Eureka)
查看>>
10g手动创建数据库
查看>>
Spring MVC EL表达式不能显示
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
SAS和SATA硬盘的区别
查看>>
C# 矩阵作业
查看>>
关于数据库查询时报“query block has incorrect number of result columns”
查看>>
li下的ul----多级列表
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
STL 算法
查看>>
分享:Backbone.js 样例站点与入门指南
查看>>
网页图片缩放(js)
查看>>