c# - 使用 exceldatareader 将 excel 工作表行 ID 获取到数据集中
问题描述
我选择了 ExcelDataReader 库来使用 C# 读取 .XLS 和 .XLSX 文件。ExcelDataReader 在我的本地和部署服务器环境中完美地处理这两种文件格式。
我遇到了问题,如何从给定的 Excel 文件中获取所有行 ID?
输入 Excel 文件:
我想要像这样的数据集格式输出
解决方案
让我们通过代码来解释
using (var stream = System.IO.File.Open(Server.MapPath("yourExcelfileName.xlsx"), FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelDataReader.ExcelReaderFactory.CreateReader(stream))
{
var conf = new ExcelDataSetConfiguration()
{
ConfigureDataTable = a => new ExcelDataTableConfiguration
{
UseHeaderRow = true
}
};
var dataSet = reader.AsDataSet(conf);
var sheet = dataSet.Tables["sheetName"].Rows.Cast<DataRow>(); // instead of sheetName you can use Index of it like 0 ,1 , ...
foreach (var row in sheet)
{
// some code
var rowId = row.Table.Rows.IndexOf(row);
var rowValueByHeaderFieldName = row["HeaderFieldName"]; // you can also use index instead of HeaderFieldName like row[1] , ...
// some code
}
}
}
希望这有帮助;)
推荐阅读
- php - 打印视图时的 htmlspecialchars()
- flutter - 如何同时接收 onTapDown (eagerly) 和 onDoubleTap?
- broadcast - Numpy 在 Pandas 中的广播
- java - 如何修复更改类似数组列表值的android Setters?
- laravel - 测试驱动的 Laravel:为 foreach 提供的参数无效
- r - 使用文本匹配改变列
- python - 使用 Python 读取大型二进制文件的最快方法
- ruby-on-rails - 测试模型规模和精度的正确方法
- xaml - 如何在 Xamarin 表单中呈现多个根元素?
- sql - 如何在 SQL Server 中计算变量的平均值