C# 读取Excel文件数据

本文详细介绍如何使用ExcelDataReader库读取Excel文件(.xls和.xlsx)。通过创建文件流并根据文件格式选择合适的读取方式,最终将Excel数据转换为DataSet对象进行处理。

1、首先需要在管理NuGet程序包中添加外部包:ExcelDataReader,添加好后,不要忘记在命名空间那里引用。

2、定义文件流,将文件流传入IExcelDataReader类型的对象excelReader中

 1  private DataSet ExcelGetDataTable(string excelPath)
 2         {
 3             FileStream stream = new FileStream(excelPath,FileMode.Open,FileAccess.Read);//定义文件流
 4             
 5             //首先判断传入的.xls文件还是xlsx文件
 6             int index = excelPath.LastIndexOf('.');//获取文件扩展名前‘.’的位置
 7             string extensionName = excelPath.Substring(index + 1);
 8             if(extensionName=="xls")
 9             {
10                 //传入的xls文件---->97-2003format
11                 excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
12             }
13             if (extensionName == "xlsx")
14             {
15                 //传入的是xlsx文件---->2007 format
16                 excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
17             }
18 
19             //1、DataSet----the result of each spreadsheet will be created in the result Table
20             DataSet result = excelReader.AsDataSet();
21             return result;
22             //2、DataSet----Create column names from first row
23             //excelReader.IsFirstRowAsColumnNames = true;
24             //DataSet result = excelReader.AsDataSet();
25            //备注:excelReader是IExcelDataReader类型的对象,该类型在ExcelDataReader命名空间中定义。通过调用该对象的相关方法,获得DataSet对象。
26 27 }

3、DataSet对象----通过代码可以看出来如何获取DataSet对象的行和列的值

DataSet dataList=this.ExcelGetDataTable(this.textBox2.Text);//接受读取的数据
string arriveDataTime = dataList.Tables[0].Rows[3][40].ToString();
//获取Excel文件的第一个表的第四行第41列的数据

 

转载于:https://www.cnblogs.com/WangYujie1994/p/11150387.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值