NPOI读取Excel文件
public class ExcelOperator
{
public static List<DataTable> Read(string fileName)
{
List<DataTable> tables = new List<DataTable>();
if (!File.Exists(fileName))
return tables;
var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
IWorkbook workbook = null;
if (fileName.IndexOf(".xlsx") > )
{
// 2007版本
workbook = new XSSFWorkbook(fs);
}
else if (fileName.IndexOf(".xls") > )
{
// 2003版本
workbook = new HSSFWorkbook(fs);
} var workbooks = workbook.GetEnumerator();
while (workbooks.MoveNext())
{
ISheet sheet = workbooks.Current as ISheet;
DataTable dt = new DataTable(sheet.SheetName);
var rows = sheet.GetRowEnumerator();
while (rows.MoveNext())
{
IRow row = rows.Current as IRow;
if (row.RowNum == )
{
row.Cells.ForEach(cell =>
{
dt.Columns.Add(cell.StringCellValue);
});
}
else
{
var dr = dt.NewRow();
for (int i = ; i < row.Cells.Count; i++)
{
dr[i] = row.Cells[i].ToString();
}
dt.Rows.Add(dr);
}
} tables.Add(dt);
}
return tables;
}
}
读取整个EXCEL方法
public static DataTable ReadExcel(string fileName, string sheetname)
{
if (!File.Exists(fileName))
return null;
var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
IWorkbook workbook = null;
if (fileName.IndexOf(".xlsx") > )
{
// 2007版本
workbook = new XSSFWorkbook(fs);
}
else if (fileName.IndexOf(".xls") > )
{
// 2003版本
workbook = new HSSFWorkbook(fs);
}
ISheet sheet = workbook.GetSheet(sheetname);
DataTable dt = new DataTable();
var rows = sheet.GetRowEnumerator();
while (rows.MoveNext())
{
IRow row = rows.Current as IRow;
if (row.RowNum == )
{
row.Cells.ForEach(cell =>
{
dt.Columns.Add(cell.StringCellValue);
});
}
else
{
var dr = dt.NewRow();
for (int i = ; i < row.Cells.Count; i++)
{
dr[i] = row.Cells[i].ToString();
}
dt.Rows.Add(dr);
}
}
return dt;
}
读取指定SheetName的表
NPOI读取Excel文件的更多相关文章
- asp.net 使用NPOI读取excel文件
asp.net 使用NPOI读取excel文件内容 NPOI下载地址:NPOI public class ExcelHelper { /// <summary> /// 读取Excel文件 ...
- NPOI 读取Excel文件
private void buttonExcel_Click(object sender, EventArgs e) { FileStream fs = null; List<ISheet> ...
- NPOI读取excel文件导出数据, 而此时文件正在打开中抛异常怎么办
项目中需要用到一些数值表格, 方便起见都是用excel来的. 而如果excel正打开中, 直接使用npoi制作的工具来导出数据的话, 在这一行将会异常: workbook = new XSSFWork ...
- C#利用NPOI操作Excel文件
NPOI作为开源免费的组件,功能强大,可用来读写Excel(兼容xls和xlsx两种版本).Word.PPT文件.可是要让我们记住所有的操作,这便有点困难了,至此,总结一些在开发中常用的针对Excel ...
- 使用NPOI读取Excel表格内容并进行修改
前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/38894 ...
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
- 读取Excel文件的两种方法比较 以及用NPOI写入Excel
1. 采用NPOI方式,只需引用NPOI.dll,但目前最高只能到2.4.0版. 缺点:只支持.xls,不支持.xlsx格式.github上的2.4.1版支持.xlsx,但总提示缺ICSharpCod ...
- 读取Excel文件的两种方法
第一种方法:传统方法,采用OleDB读取EXCEL文件, 优点:写法简单,缺点:服务器必须安有此组件才能用,不推荐使用 private DataSet GetConnect_DataSet2(stri ...
- NPOI读取Excel,导入数据到Excel练习01
NPOI 2.2.0.0,初级读取导入Excel 1.读取Excel,将数据绑定到dgv上 private void button1_Click(object sender, EventArgs e) ...
随机推荐
- YII1.1分页
一.控制器 $criteria = new CDbCriteria(); //这里可以加一些条件 $criteria->addCondition('parent_id='.$this->c ...
- element-ui table 底部滚动条问题
1.将 .el-table 标签css属性中的 position: relative; width: 100%; max-width: 100%; 修改成 position: absolute; wi ...
- XML数据库的尝试
首先祝大家新年快乐.身体健康,平安就是福气. 对于一般的个人迷你项目,数据量不大的时候,完全没有必要使用数据库,管理数据使用XML就可以了. 自己尝试写了一个XML数据库,插入1w条小记录,大概3M大 ...
- 使用dumpbin命令查看dll导出函数及重定向输出到文件【轉】
查看dll导出函数,一般使用Viewdll等第三方工具. VS开发环境中,可以查看32位和64位的dll.具体使用方法如下: 1. 进入VS开发环境,然后Tools -> Visual stud ...
- 学习动态性能表(8)--v$lock&v$locked_object
学习动态性能表 第八篇-(1)-V$LOCK 2007.5.31 这个视图列出Oracle 服务器当前拥有的锁以及未完成的锁或栓锁请求.如果你觉着session在等待等待事件队列那你应该检查本视图. ...
- Northwind 示例数据库
Northwind 示例数据库 Northwind Traders 示例数据库包含一个名为 Northwind Traders 的虚构公司的销售数据,该公司从事世界各地的特产食品进出口贸易. 下载地址 ...
- bootstrap简单的签收页面
http://aqvatarius.com/themes/atlant/html/ui-icons.html <%@ Page Language="C#" AutoEvent ...
- 机器学习:SVM(基础理解)
一.基础理解 1)简介 SVM(Support Vector Machine):支撑向量机,既可以解决分类问题,又可以解决回归问题: SVM 算法可分为:Hard Margin SVM.Soft Ma ...
- ECS Windows系统使用自带监视器查看IIS并发连接数
问题现象 ECS Windows系统如何查看IIS并发连接数? 解决方案 1.运行-->输入“perfmon.msc” . 2.在“系统监视器”图表区域里点击右键,然后点“添加计数器”. 3.在 ...
- Windows 常见进程
alg.exe描述: alg.exe是Windows系统的一个重要进程,它的功能是用来处理 Internet 连接共享及防火墙,最好不要结束这个进程.taskmgr.exe描述: Windowsxp ...