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

     
  • 相关阅读:
    iOS block从零开始
    iOS 简单动画 序列帧动画
    iOS 简单动画 block动画
    IOS 简单动画 首尾式动画
    IOS 手势详解
    IOS block 循环引用的解决
    IOS GCD定时器
    IOS TextField伴随键盘移动
    IOS RunLoop面试题
    IOS RunLoop 常驻线程的实现
  • 原文地址:https://www.cnblogs.com/sunli4295/p/excel.html
Copyright © 2020-2023  润新知