如何获得只有在EXCEL工作表中有价值的colums
我正在编程读取C#中的Excel文件。
当我使用Excel.Worksheet.Columns.columns.count,我得到一个值超过16,000。
但我的Excel表只有15列。 我怎样才能得到那些有价值的列 ?
这是我通常这样做的:
Excel.Application demoApp= new Excel.Application(); demoApp.Workbooks.Open(fileName); int rowCount = demoApp.ActiveSheet.UsedRange.Rows.Count; int colCount = demoApp.ActiveSheet.UsedRange.Columns.Count;
所以,关键是使用UsedRange ,我希望这会有所帮助。
当试图自动化Excel时,您可以首先找出如何在Excel中执行所需操作,然后找出使用自动化API实现这一点的方法。
想象一下,您正在使用“真正的”Excel,并将活动单元放置在包含要缩小范围的列的最后一行。 让我们说第一行最后一列的“XFD1”。 这是16,000+数字的来源。
要到达包含非空值的最后一个单元格,您可以按End
键进入“结束模式”,然后按Left Arrow
,这将为您的电子表格放置第15列或“ O“,地址为”O1“。
什么是“结束模式”等效的C#自动化API? 它是Range.End
函数。 这是一个描述:
- Range.End属性
以下是End
函数的一些VBA示例:
- Excel范围:查找范围中的最后一个单元格
Excel在过去几年并没有太大的改变,所以这些VBA例子非常普遍,而且仍然非常有用,即使你必须把语法翻译成C#。
如果你可以在Excel中自己做,你可以使用自动化API来做到这一点!