C# 读取Excel文件数据

Posted wangyujie1994

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 读取Excel文件数据相关的知识,希望对你有一定的参考价值。

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列的数据

 

以上是关于C# 读取Excel文件数据的主要内容,如果未能解决你的问题,请参考以下文章

C#怎么读取Excel的数据

2015版vs c#读取excel代码

C#如何读取带密码的Excel文件

C#读取大数据量Excel,60W行数据,该怎么处理

C# 读取EXCEL文件的三种经典方法

C# 读取EXCEL文件的三种经典方法