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格式

     
  • 相关阅读:
    jmeter脚本开发:influxdb + grafana + jmeter(九)
    jmeter脚本开发:Beanshell(八)
    android APP上线前,应该准备的东西
    android硬件返回
    PagerAdapter 普通写法
    FragmentStatePagerAdapter写法
    Fragment之间传数据
    配置gradle.properties
    android最新版 极光推送
    SensorManager
  • 原文地址:https://www.cnblogs.com/sunli4295/p/excel.html
Copyright © 2011-2022 走看看