我有一个包含 4 个工作表的 Excel 文件。但是,当我在 C#(.NET Core 3.1)代码中读取第一个工作表时,它的行为不正确。该工作表大约有 350-450 个条目,有时它只读取...
我有一个包含 4 个工作表的 Excel 文件。但是,当我在 C#(.NET Core 3.1)代码中读取第一个工作表时,它的行为不正确。
该表大约有 350-450 个条目,有时它只读取 4 个空行,有时读取 450 行但仍然有 4 个额外的空行。然后我从末尾删除了一些空行,这样它就可以开始正确读取了。
这是我正在使用的代码:
public List<Dictionary<string, string>> ReadSheet(ExcelWorksheet worksheet)
{
try
{
_logger.LogInformation("No. of rows (including header) = " + worksheet.Rows.Count());
var headers = worksheet.Cells["A1:ZZ1"].Select(c => c.Text).ToList();
_logger.LogInformation("No. of headers > " + headers.Count);
List<Dictionary<string, string>> sheetData = new List<Dictionary<string, string>>();
int count = worksheet.Rows.Count();
for (int row = 2; row <= worksheet.Rows.Count(); row++)
{
Dictionary<string, string> rowData = new Dictionary<string, string>();
for (int col = 1; col <= headers.Count; col++)
{
rowData[headers[col - 1]] = worksheet.Cells[row, col].Text;
}
sheetData.Add(rowData);
}
_logger.LogInformation("Number of rows stored:" + sheetData.Count);
return sheetData;
}
catch (Exception ex)
{
_logger.LogError("Exception:" + ex);
throw ex;
}
}
我使用相同的代码读取所有其他工作表,它们具有正确的行数。
我使用的这个 Excel 是使用 Java 代码准备的,没有添加任何额外的行。我无法手动从末尾删除多余的空行。
请提供建议。提前致谢!
编辑:
我有 435 行 (包括标题)。
我得到了:
行数(包括标题)= worksheet.Rows.Count() = 439
行数(包括标题)= 工作表.尺寸.行数 = 442
当我尝试使用 EPPlus OfficeOpenXml 读取 Excel 文件时获取额外的空行
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!