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

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

  1. Option Explicit On
  2.  
  3. Imports NPOI.SS.UserModel
  4. Imports System.IO
  5.  
  6. Public Class ExcelHelper
  7.  
  8. Public Shared Function ImportExcel(ByVal strSource As String) As DataTable
  9. Dim hssfWorkbook As IWorkbook
  10. Dim sheet As ISheet
  11. Dim rows As System.Collections.IEnumerator
  12. Dim dt As DataTable
  13. Dim icount As Int32
  14. Dim row As IRow
  15. Dim dr As DataRow
  16. Dim cell As ICell
  17.  
  18. hssfWorkbook = WorkbookFactory.Create(FileToStream(strSource))
  19.  
  20. sheet = hssfWorkbook.GetSheetAt(0)
  21. rows = sheet.GetRowEnumerator()
  22.  
  23. icount = 0
  24. dt = New DataTable()
  25.  
  26. While rows.MoveNext()
  27.  
  28. icount = icount + 1
  29. row = rows.Current
  30. dr = dt.NewRow
  31. For i As Int32 = 0 To row.LastCellNum
  32. cell = row.GetCell(i)
  33. If cell Is Nothing Then
  34. 'dr(i) = DBNull.Value
  35. Else
  36. If icount = 1 Then
  37. dt.Columns.Add(cell.ToString)
  38. End If
  39.  
  40. dr(i) = cell.ToString
  41. End If
  42.  
  43. Next
  44.  
  45. dt.Rows.Add(dr)
  46.  
  47. End While
  48.  
  49. dt.Rows.RemoveAt(0)
  50.  
  51. Return dt
  52.  
  53. End Function
  54.  
  55. Public Shared Function FileToStream(ByVal fileName As String) As Stream
  56.  
  57. '打开文件
  58.  
  59. Dim fileStream As FileStream
  60.  
  61. fileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read)
  62.  
  63. '读取文件的 byte()
  64.  
  65. Dim bytes() As Byte = New Byte(fileStream.Length) {}
  66.  
  67. fileStream.Read(bytes, 0, bytes.Length)
  68.  
  69. fileStream.Close()
  70.  
  71. ' byte()转换成 Stream
  72.  
  73. Dim stream As Stream = New MemoryStream(bytes)
  74.  
  75. Return stream
  76.  
  77. End Function
  78.  
  79. End Class

通过vb.net 和NPOI实现对excel的读操作的更多相关文章

  1. 使用jxl操作之一: 实现对Excel简单读写操作

    项目目录树 对象类UserObject UserObject.java package com.dlab.jxl; public class UserObject { private String u ...

  2. 利用C#实现对excel的写操作

    一.COM interop 首先我们要了解下何为COM Interop,它是一种服务,可以使.NET Framework对象能够与COM对象通信.Visual Studio .NET 通过引入面向公共 ...

  3. 使用POI来实现对Excel的读写操作

    事实上我感觉直接贴代码就好了.代码里面差点儿做到每一行一个凝视.应该看起来会比較简单 代码托管在github上:https://github.com/chsj1/ExcelUtils package ...

  4. JAVA-----基于POI实现对Excel导入

    在日常项目开发中, 数据录入和导出是十分普遍的需求,因此,导入导出也成为了开发中一个经典的功能.数据导出的格式一般是excel或者pdf,而批量导入的信息一般是借助excel来减轻工作量,提高效率. ...

  5. Python中实现对list做减法操作介绍

    Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...

  6. 使用代理实现对C# list distinct操作

    范型在c#编程中经常使用,而经常用list 去存放实体集,因此会设计到对list的各种操作,比较常见的有对list进行排序,查找,比较,去重复.而一般的如果要对list去重复如果使用linq dist ...

  7. 在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

    前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Ex ...

  8. Apache POI 实现对 Excel 文件读写

    1. Apache POI 简介 Apache POI是Apache软件基金会的开放源码函式库. 提供API给Java应用程序对Microsoft Office格式档案读和写的功能. 老外起名字总是很 ...

  9. 使用 xlrd 模块实现对excel 的读取、excel转json 、excel 转 mysql insert 语句

    #-*- coding:utf-8 -*- # 处理 excel 中的 area 为 Mysql insert 语句 import xlrd, json, codecs, os # data = xl ...

随机推荐

  1. web 面试题、简单题、复习题

    1. 概述MVC体系结构,各个部分都有那些技术来实现? M即model(模型,bean(domain)层)由javabean或EJB实现:V即view(视图,显示层)由jsp实现:C即controll ...

  2. 一次在局域网中ssh连接的尝试

    最近到手一台二手HP笔记本.卖我本子的是以为很漂亮的服装设计师,她因为有了一台新的Mac本所以HP本就闲置了,于是就卖给了我.本子性能跟我自己的三星本差不多,除了电池不太给力,每次开机都会提示601. ...

  3. 程序或-内存区域分配& ELF分析 ***

    一.在学习之前我们先看看ELF文件. ELF分为三种类型: 1. .o 可重定位文件(relocalble file) 2. 可执行文件 3. 共享库(shared library) 三种格式基本上从 ...

  4. 执行 rails server 报错 Could not find a JavaScript runtime

    修改第15行 # gem 'therubyracer', platforms: :ruby 去掉注释 执行 bundle install

  5. php end()

    end()的用法

  6. 获取access_token错误 40164

    没有添加IP白名单

  7. Java中的intern变量的讲解

    一般我们变成很少使用到 intern这个方法,今天我就来解释一下这个方法是干什么的,做什么用的 首先请大家看一个例子: public static void main(String[] args) t ...

  8. python开发面向对象基础:组合&继承

    一,组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合      人类装备了武器类就是组合 1.圆环,将圆类实例后传给圆环类 #!/usr/bin/env python #_*_ ...

  9. Py修行路 python基础(二)变量 字符 列表

    变量 容器 变量名 标记 数据的作用 字符编码 二进制位 = bit1个二进制位是计算机里的最小表示单元 1个字节是计算机里最小的存储单位 8bits = 1Byte =1字节1024Bytes = ...

  10. 自定义ListView里面的Item的内容

    我们不可能满足只是往每个item里面填字就足够,像QQ的好友列表就是一个ListView,每个Item里面有头像.名字啊.签名什么的,内容丰富.那我们要怎么定义一个内容丰富的item呢? 要用到Ada ...