您现在的位置是:首页 > 文章详情文章详情
C#将读取的到EXCEL转换为DataTable
会飞的猪
2017-11-24
1046人已围观
简介白码驿站是一个面向开发者的知识共享社区,专注于为开发者打造一个纯净的技术交流社区(源码下载,免费在线图片压缩,jquery插件,插件下载,JS/CSS在线压缩。)-白码驿站
接下来说一下如何将读取的到EXCEL转换为DataTable,需要引用NPOI插件,插件下载地址:NPOI组件.rar
接下来就是代码的实现了,
/// <summary> /// 将excel转换为datatable /// </summary> /// <param name="filePaht">文件路径</param> /// <param name="startRow">读取数据的起始行</param> /// <returns>DataTable</returns> public DataTable ExcelToDataTable(string filePaht, int startRow) { //声明一个变量 ISheet sheet = null; DataTable data = new DataTable(); //int startRow = 3; try { //读取excel文件 FileStream fs = new FileStream(filePaht, FileMode.Open, FileAccess.Read); HSSFWorkbook workbook = new HSSFWorkbook(fs); //读取excel的第一个sheet页 sheet = workbook.GetSheetAt(0); if (sheet != null) { //起始行 IRow firstRow = sheet.GetRow(startRow); int cellCount = firstRow.LastCellNum; //一行最后一个cell的编号 即总的列数 //循环添加列 for (int i = firstRow.FirstCellNum; i < cellCount; ++i) { //添加列 DataColumn column = new DataColumn(firstRow.GetCell(i).StringCellValue + "_" + i); data.Columns.Add(column); } //最后一列的标号 int rowCount = sheet.LastRowNum; for (int i = startRow; i <= rowCount; ++i) { IRow row = sheet.GetRow(i); if (row == null) continue; //没有数据的行默认是null //创建行 DataRow dataRow = data.NewRow(); int index = 0; for (int j = row.FirstCellNum; j < cellCount; ++j) { //填充列 dataRow[index] = row.GetCell(j).ToString(); index++; } //填充行 data.Rows.Add(dataRow); } } return data; } catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); return null; } }
调用:
DataTable dt = ExcelToDataTable(路径,数据的起始行);
很赞哦! (0)
点击排行
文章分类
- C# (211)
- Excel操作 (7)
- Ext.Net (1)
- FTP (7)
- Git (1)
- Html (7)
- JavaScript/Jquery (173)
- Json (5)
- PhotoShop (60)
- Sql Server (48)
- SVN (5)
- Tesseract-ocr图片识别 (5)
- UML (1)
- VS代码折叠插件 (1)
- winform (2)
- 操作IP地址 (5)
- 操作PDF (5)
- 插件 (166)
- 发送邮件 (2)
- 过滤HTML标签 (2)
- 缓存 (1)
- 跨域 (1)
- 目录操作 (14)
- 软件 (25)
- 视屏操作 (2)
- 数据库恢复 (2)
- 数据库优化 (5)
- 图片操作 (16)
- 文件操作 (24)
- 序列化 (3)
- 压缩 (5)
- 验证码 (4)
- 正则表达式 (21)
- 字符串加密 (11)
猜你喜欢
- SQL Prompt 免费下载 (SQL自定义插件的安装与激活:新版)
- Tesseract-OCR 中文识别
- 大公司为什么还在采用过时的技术
- C# 操作Excel , 支持超链接 跳转Sheet 页面,HSSFHyperlink函数
- SQL SERVER 2012 误删数据恢复过程
- X-UA-Compatible 解决IE浏览器样式不兼容问题
- sql Service 海量数据查询,如何提高查询效率--数据库分区
- LoadRunner 安装+汉化+破解
- sql Service 海量数据查询,如何提高查询效率--数据库设计
- C#中构造函数的执行序列(构造函数初始化器 this base)
- html5+ajax实现文件拖拽上传
- sql Service 海量数据查询,如何提高查询效率--SQL语句优化
评 论