NPOI 1. 三种 EXCEL 抽取方式介绍在对 EXCE L 进行数据抽取时, 现在主流的技术方法是: oledb,co m 组件, NPOI 1. 采用 oledb 读取 excel 文件, 用这种方法读取 Excel 速度还是非常的快的,但这种方式读取数据的时候不太灵活,不过可以在 DataTable 中对数据进行一些删减修改。这种方式将 Excel 作为一个数据源, 直接用 Sql 语句获取数据了。所以读取之前要知道此次要读取的 Sheet ( 当然也可以用序号,类似 [0][0] 。这样倒是不需要知道 Sheet ) 优点: 读取方式简单、读取速度快, 可在不关闭当前 Excel 的情况下对该 EXCEL 进行 sql 获取数据的操作。缺点: 除了读取过程不太灵活之外, 这种读取方式还有个弊端就是,当 Excel 数据量很大时。会非常占用内存, 当内存不够时会抛出内存溢出的异常。个人意见: oledb 还是比较好用的, 内存不够的情况至今也没见过。 2. Com 组件的方式读取 Excel 这种方式需要先引用 。首选说下这种方式的优缺点优点:可以非常灵活的读取 Excel 中的数据缺点: 如果是 Web 站点部署在 IIS 上时, 还需要服务器机子已安装了 Excel , 有时候还需要为配置 IIS 权限。最重要的一点因为是基于单元格方式读取的,所以数据很慢。个人意见: 不建议用这种方法, 基于单元格的读取方式很显然是落后低效的。 3. NPOI 方式读取 Excel , NPOI 是一组开源的组件,类似 Java 的 POI 。包括: NPOI 、 、 、 、 、 ,下载的时候别只下一个噢优点:读取 Excel 速度较快,读取方式操作灵活性, 03 版本用 HSSFWorkbook , 07 版本用 XSSFWorkbook 。可解决几乎所有的 EXCEL 问题,如单元格合并,插入公式,单元格颜色等等。缺点: 不能对已打开的当前 EXCEL 文件进行操作。需要导入多个 dll ,而且要注意 dll framework 版本是 还是 。功能虽然十分强大,但由于代码不开源导致 dll 里面的函数方法需要自己琢磨或者上网查询。 2. 关于 NPOI 的 dll 和 using 主要包含以下 4个 dll: , , NPOI..dll , 值得注意的是以上 dll 版,引用的时候需要注意下。在程序中引用以上四个 dll后, 需在程序开头写上以下代码( 方便使用): using ; using ; using ; using ; 其中 excel03 版本用的是 HSSFWorkbook , excel07 版本用的是 XSSFWorkbook 3. NPOI 基本操作在利用 NPOI 对 EXCEL 进行基本操作前,需要熟悉以下几个概念: 整个 Excel 表格叫做工作表: WorkBook ( 工作薄), 包含的叫页(工作表): Sheet ;行: Row ;列: Column ; 单元格 Cell 。C ell是 excel 中最基本的单位,当然也可以用 range 来选择多个单元格范围。知道上面这几个概念后我们就可以进行下一步操作了。首先 NPO I 对 EXCEL 的操作主要分为两类: 读取和创建。一个是对已有的 EXCE L 进行操作, 一个是创建新的 EXCEL , 这两种情况对应的代码有着明显的不同。注意: 这里贴出来的是源代码, 方便大家理解, 在第 5 章中我对下列代码进行了封装。 读取 EXCEL 工作薄和工作表// 获取指定 excel 的工作薄 FileStream fs= new FileStream( ***@d:\ , , ); IWorkbook workbook = new HSSFWorkbook(fs); //03 版 IWorkbook workbook = new XSSFWorkbook(fs); //07 版// 获取名称为 mySheet 的表 ISheet sheet = workbook.
npoi (自动保存的) 来自淘豆网m.daumloan.com转载请标明出处.