zoukankan      html  css  js  c++  java
  • NPOI操作Excel导入DataTable中

    using NPOI.HSSF.UserModel;
    using NPOI.SS.UserModel;
    using System.Data;
    using System.IO;
    using NPOI.XSSF.UserModel;

    刚刚接触Excel导入导出,感觉用NPOI蛮方便的就研究了一下,下面是Excel导入读取到DataTable中的功能
    #region public DataTable ImportExcel(string filePath) { using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { try { hssfworkbook = new XSSFWorkbook(file); } catch (Exception ex) { hssfworkbook = new HSSFWorkbook(file); } } ISheet sheet = hssfworkbook.GetSheetAt(0); System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); DataTable dt = new DataTable(); //获取列数,填充到DataTable中 for (int j = 0; j < (sheet.GetRow(0).LastCellNum); j++) { dt.Columns.Add("" + j); } //读取集合元素,递进读取 while (rows.MoveNext()) { IRow row = (IRow)rows.Current; DataRow dr = dt.NewRow(); for (int i = 0; i < row.LastCellNum; i++) { ICell cell = row.GetCell(i); if (cell == null) { dr[i] = null; } else { dr[i] = cell.ToString(); } } dt.Rows.Add(dr); } return dt; } #endregion

        在操作的时候有时候会出现“The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents ”错误,这是因为XSSFWorkbook支持.xlsx 2007格式,HSSFWorkbook 支持.xls 2003格式

     
  • 相关阅读:
    ICE-3.5.1-错误记录
    windows下qtcreator添加ICE库文件
    LINUX下QT与C语言通过网卡名获取网卡IP与MAC
    Apache部署Django+Vue
    三次握手和四次挥手面试常问
    配置mysql时报错
    nosql的介绍以及和关系型数据库的区别
    redis的基本操作
    在Centos安装redis-孙志奇
    git的使用
  • 原文地址:https://www.cnblogs.com/sunli4295/p/excel.html
Copyright © 2011-2022 走看看