【发布时间】:2019-08-30 22:48:19
【问题描述】:
我正在尝试从我的 Excel 中删除空行。
我已经尝试查看其他示例,甚至尝试实现但它不起作用。我需要做的是删除整行如果该行的第一个单元格为空。
这是我尝试过的:
读取Excel.cs:
Excel.Application excelApp = new Excel.Application();
Excel.Workbook workbook = excelApp.Workbooks.Open(fileLocation)
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.ActiveSheet;
Excel.Range usedRange = worksheet.UsedRange;
int rowCount = worksheet.UsedRange.Rows.Count;
int colCount = worksheet.UsedRange.Columns.Count;
for (int i = 1; i <= rowCount; i++)
{
if (usedRange.Cells[1, 1] == null)
{
// Delete entire row if first cell is empty
usedRange.Cells[1, 1]).EntireRow.Delete(null);
}
workbook.Save();
}
我面临的问题是它不断循环遍历excel并且即使单元格为空也不遵循if条件
【问题讨论】:
-
usedRange.Cells[1, 1](2 次出现) 在这里,您似乎应该使用i变量而不是1之一,否则您将始终测试行和列索引 1 而不是检查每一行。 -
另外,我不确定excel中的索引是基于0还是基于1。但在 C# 中,数组的第一个元素是索引 0。
-
嗨@Pac0 感谢您指出这一点,已更正!不过还是不行..
标签: c# asp.net office-interop