只是我一直在做的事情一直困扰着我,我不禁想到其他人会为我指出一个简单的解决方案。
我正在编写的程序的一部分涉及以下内容:
我有一个 C# 程序,它使用自动排序将一系列过滤器应用于电子表格。我想删除已排序的数据,目前它使用特殊单元格,但我认为我的方法并不出色。
在删除数据之前,我删除了第一行,即我的标题,以便不将其包含在删除中。但是,这可能会导致问题,如果我删除标题并且过滤后的数据实际上返回的行数不超过 0 行,那么当我调用我的特殊单元格来删除它时,它将标记某种错误,说明没有范围。什么是最好的解决方案,理想情况下我可以抓取过滤范围并检查数据是否超过 1 行,但我一直在尝试的属性(如 rows.count)标记了错误类型的数据。这是我的代码的简化版本
Excel.Range AllRange = mySheet.UsedRange;
Excel.Range filtered = AllRange.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeVisible, Type.Missing);
if (//SOME SORT OF COUNT SHOULD GO HERE IM GUESSING > 1)
{
mySheet.Rows.EntireRow[1].Hidden = true;
filtered = mySheet.UsedRange.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeVisible, Type.Missing);
filtered.EntireRow.Delete(Excel.XlDirection.xlUp);
mySheet.Rows.EntireRow[1].Hidden = false;
}
类似的东西,希望对你有帮助。感谢您就此事提供任何建议。