如何获得只有在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来做到这一点!