【问题标题】:get excel sheet row id using exceldatareader into dataset使用 exceldatareader 将 excel 工作表行 ID 获取到数据集中
【发布时间】:2020-07-24 13:13:30
【问题描述】:

我选择了 ExcelDataReader 库来使用 C# 读取 .XLS 和 .XLSX 文件。 ExcelDataReader 在我的本地和部署服务器环境中完美地处理这两种文件格式。

我遇到了问题,如何从给定的 Excel 文件中获取所有行 ID?

输入 Excel 文件:

我想要像这样的数据集格式输出

【问题讨论】:

  • 不能从数据的序列中推断出行号吗?也就是说,您阅读的第一条记录不会是第 1 行、第 2 行等吗?您可能必须自己从读取器将记录插入数据集中。

标签: c# excel exceldatareader excel-reader


【解决方案1】:

让我们通过代码来解释

    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
            }
        }
    }

希望对您有所帮助;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    相关资源
    最近更新 更多