c#如何读取excel,根据列名读取数据数据
时间: 2024-04-22 15:24:13 浏览: 10
要根据列名读取Excel中的数据,你可以使用`DataTable`对象的`Select`方法。以下是一个示例代码,演示如何使用列名来读取Excel数据:
```csharp
using ExcelDataReader;
using System.Data;
using System.IO;
// 读取Excel文件
using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
// 选择要读取的工作表(例如,第一个工作表是索引为0)
reader.ChangeSheet(0);
// 读取工作表数据
DataSet result = reader.AsDataSet();
// 获取工作表的数据
DataTable dataTable = result.Tables[0];
// 根据列名读取数据
string columnName = "ColumnName";
DataRow[] rows = dataTable.Select(columnName + " IS NOT NULL");
// 遍历结果
foreach (DataRow row in rows)
{
Console.WriteLine(row[columnName]);
}
}
}
```
在上述代码中,你需要将要读取的Excel文件路径存储在`filePath`变量中,并根据需要调整要读取的工作表索引(默认为第一个,索引为0)。然后,你可以将要读取的列名存储在`columnName`变量中,并使用`Select`方法从`DataTable`中选择满足条件的行。
注意:在运行代码之前,请确保已经正确引用了相关的命名空间(如`using ExcelDataReader`和`using System.Data`)。
希望对你有所帮助!如果有任何疑问,请随时提问。