我有一个包含 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
我正在尝试格式化一列以显示重复条目,但我想排除 #N/A,因为当没有有意义的数据可显示时,就会显示 #N/A。我有一份来自订单的备忘录...
我正在尝试格式化一列以显示重复条目,但我想排除 #N/A,因为当没有有意义的数据可显示时,就会显示该条目。我有一份零件订单的备忘录,其中显示了零件号,我使用了一个函数将该零件号分离到一个新列中,但现在我想突出显示所有重复项,但 #N/A 本质上是我的空显示,所以我会从条件格式中排除它。
我已经在条件格式规则中尝试了以下功能:
=AND($M5 <> "#N/A", COUNTIF($M$5:$M$2564,$M5) > 1)
=AND($M5 <> "*#*", COUNTIF($M$5:$M$2564,$M5) > 1)
这两种方法似乎都可以消除 #N/A 某些条目的突出显示,但由于某种原因,它们都没有完全起作用,并且仍然有许多 #N/A 条目保持突出显示。
任何帮助将不胜感激!