Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我需要选择excel文件C的最后一列#_C#_Excel - Fatal编程技术网

C# 我需要选择excel文件C的最后一列#

C# 我需要选择excel文件C的最后一列#,c#,excel,C#,Excel,我试图选择excel的最后一列,但当我尝试这样做时,我总是得到一个异常,表示我试图获取的值为Null 我使用的代码如下所示: var lastColumn2 = foglio.LastColumnUsed(); var lastColumn = lastColumn2.Worksheet.ActiveCell.Address.ColumnNumber; 这将获取上次使用的列的编号。 这段代码在今天的excel中运行良好,其中有些行是彩色的 (我的意见) 某些行被着色的事实导致“ActiveC

我试图选择excel的最后一列,但当我尝试这样做时,我总是得到一个异常,表示我试图获取的值为Null

我使用的代码如下所示:

var lastColumn2 = foglio.LastColumnUsed();
var lastColumn = lastColumn2.Worksheet.ActiveCell.Address.ColumnNumber;

这将获取上次使用的列的编号。 这段代码在今天的excel中运行良好,其中有些行是彩色的

(我的意见) 某些行被着色的事实导致“ActiveCell”参数为null。例外情况就是由此引起的。 我得到的例外情况是:

System.NullReferenceException: 
'You're referring to a not set value of an object.'
问题是,当我将颜色设置为“无”并再次为行着色并运行代码时。。。它工作得很好,就像以前没有发生过一样。 所以在这一点上,我不知道是什么导致了这个问题。。。。 即使我再次给行上色,程序也会重新开始工作,但如果我不上色,程序就会崩溃

有办法解决这个问题吗?
或者,有没有更好的方法来获取所使用的最后一列的索引?

我不确定,但我认为它有助于:

Excel.Range last = sheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range range = sheet.get_Range("A1", last);

int lastUsedRow = last.Row;
int lastUsedColumn = last.Column;