通过NPOI解析Excel,将数据保存到DataTable中。

  1. #region excel解析
  2. public DataTable ImportExcelFile(string filePath)
  3. {
  4. string extension = System.IO.Path.GetExtension(filePath); //excel获取文件后缀
  5. DataTable table = new DataTable();
  6. using (FileStream fs = File.OpenRead(filePath))
  7. {
  8. IWorkbook wk = null;
  9. if (extension.Equals(".xls")) //根据文件版本实例化对象
  10. {
  11. wk = new HSSFWorkbook(fs);
  12. }
  13. else
  14. {
  15. wk = new XSSFWorkbook(fs);
  16. }
  17.  
  18. ISheet sheet = wk.GetSheetAt(0); //获取excel的第一个sheet
  19.  
  20. IRow row = sheet.GetRow(0); //获取sheet的首行
  21.  
  22. int cellCount = row.LastCellNum;//一行最后一个方格的编号 即总的列数
  23.  
  24. for (int i = row.FirstCellNum; i < cellCount; i++)
  25. {
  26. DataColumn column = new DataColumn(row.GetCell(i).StringCellValue);
  27. table.Columns.Add(column);
  28. }
  29.  
  30. int rowCount = sheet.LastRowNum; //最后一列的标号,即总的行数
  31.  
  32. for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++)
  33. {
  34. IRow rows = sheet.GetRow(i);
  35. DataRow dataRow = table.NewRow();
  36.  
  37. for (int j = rows.FirstCellNum; j < cellCount; j++)
  38. {
  39. //if (rows.GetCell(j) != null)
  40. // {
  41. // if (rows.GetCell(j).CellType == CellType.Numeric)
  42. //dataRow[j] = rows.GetCell(j).RichStringCellValue;
  43.  
  44. dataRow[j] = rows.GetCell(j).ToString();
  45. // }
  46. }
  47. table.Rows.Add(dataRow);
  48. }
  49. }
  50. return table;
  51. }
  52. #endregion

  

[C#] NPOI Excel解析的更多相关文章

  1. 转载 NPOI Excel 单元格背景颜色对照表

    NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillP ...

  2. NPOI Excel 单元格背景颜色对照表

    NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillP ...

  3. <转载>NPOI Excel 单元格背景颜色对照表

    我转载地址:http://www.holdcode.com/web/details/117 NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 ...

  4. Java将Excel解析为数组集合

    Java将Excel解析为数组集合 相关 jar 包: jxl-2.6.jar jar 包下载:http://files.cnblogs.com/files/liaolongjun/excel-jar ...

  5. Excel解析easyexcel工具类

    Excel解析easyexcel工具类 easyexcel解决POI解析Excel出现OOM <!-- https://mvnrepository.com/artifact/com.alibab ...

  6. Excel解析工具easyexcel全面探索

    1. Excel解析工具easyexcel全面探索 1.1. 简介 之前我们想到Excel解析一般是使用POI,但POI存在一个严重的问题,就是非常消耗内存.所以阿里人员对它进行了重写从而诞生了eas ...

  7. 导入Excel——解析Excel

    读取Excel 思路:先读取整个Excel,即工作簿,再依次读取其中的每个工作表Sheet,最后读取工作表内的表格. 一.读取工作簿利用流读取指定目录中的工作簿,并写入内存. /** * Constr ...

  8. Android EXCEL 解析 xls 和 xlsx,方法其实很简单

    前言 Excel 解析,一般来说是在服务端进行的,但是如果移动端要实现解析Excel的功能,那也是有实现的方法的. 不过由于Android 原生用Java/Kotlin实现,所以也可以参考服务端解析E ...

  9. Salesforce LWC学习(三十二)实现上传 Excel解析其内容

    本篇参考:salesforce lightning零基础学习(十七) 实现上传 Excel解析其内容 上一篇我们写了aura方式上传excel解析其内容.lwc作为salesforce的新宠儿,逐渐的 ...

随机推荐

  1. Javascript高性能编程-提高数据访问速度

         hasOwnProperty()仅检索实例不检索原型,in即检索实例,又检索原型      成员嵌套越深,访问速度越慢,只在必要的情况下使用对象成员.      如果在同一个函数中你要多次读 ...

  2. 应用Apache Axis进行Web Service开发

    转自(http://tscjsj.blog.51cto.com/412451/84813) 一.概述 SOAP原意为Simple Object Access Protocol(简单对象访问协议),是一 ...

  3. iOS之由身份证号返回性别

    该博文出自:http://www.cnblogs.com/yang-guang-girl/p/5683454.html - (void)viewDidLoad { [super viewDidLoad ...

  4. [Erlang 0129] Erlang 杂记 VI

    把之前阅读资料的时候记下的东西,整理了一下. Adding special-purpose processor support to the Erlang VM   P23 简单介绍了Erlang C ...

  5. python from __future__ import division

    1.在python2 中导入未来的支持的语言特征中division(精确除法),即from __future__ import division ,当我们在程序中没有导入该特征时,"/&qu ...

  6. C#语言学习记录

    1.&& || ! 与或非-逻辑运算符,&&的优先级大于||.

  7. IIS将错误信息发送到浏览器

    本文版权归博客园和dige1993所有,访问作者博客:http://www.cnblogs.com/dige1993 最近又开始玩ASP了,调试的时候出现错误不清楚详细错误信息特别不方便,记得以前可以 ...

  8. 禁止chrome记住密码

    谷歌浏览器保存密码后输入框背景色变成黄色,会影响原来的输入框样式,css样式input:-webkit-autofill可以改变输入框样式,background-color,background-im ...

  9. Python 字符串相加问题

    今天在用Python拼接字符串时碰到个问题,从数据库取出来的数据以及获取到的时间等数据拼成了一个字符串a,将字符串a与自定义的字符串b拼接时一直中断,无法继续执行,也没有报错,将数据库取出数据变成自定 ...

  10. C#基础---Attribute(标签) 和 reflect(反射) 应用二

    以前我有写过一篇有关,打标签和反射的应用,主要用于类中字段的验证.下面是连接 C#基础---Attribute(标签) 和 reflect(反射) 应用. 这个项目迭代发现公司项目里面发现老代码对业务 ...