Aspose.Cells.GridDesktop.Worksheet引用空值的单元格出错

Aspose.Cells.GridDesktop.Worksheet引用空值的单元格出错:System.IndexOutOfRangeException:“Index was outside the bounds of the array.”比如我的工作表有6万多行,70列,我引用if (sheet.Cells[23570,14]== null)
{ continue; }或者if (sheet.Cells[23570,14].Value== null)
{ continue; }它都报错
sheet.Cells[23570,14]的值是null,但是程序也不应该报错呀

比如这个"测试 - 副本.xlsx"我引用sheet.Cells[514, 56]的时侯就会出错,不知道是什么原因。你们可以循环每一个单元格试试。链接:百度网盘 请输入提取码
提取码:f8t2

@hudaming
我用最新版本试了下没有问题啊
这个文件比较大,加载需要时间,肉眼可见。

cellsnull.png (16.6 KB)

所有的操作要在finishload事件后再做,就没问题了
事件相关看这个文章

可能是我这边的处理模式有一些问题,我再试试。

嗯,好的,你再试试。。。

我找到问题了,还是用我发的文件。用下面的语句进行第二次循环的时侯,会出错:
System.IndexOutOfRangeException:“Index was outside the bounds of the array.”
代码:

  Aspose.Cells.GridDesktop.Worksheet sheet = gridDesktop1.GetActiveWorksheet();
  int izdh = sheet.RowsCount;
  int izdl = sheet.ColumnsCount;
  int idqh = 14;//sheet.GetFocusedCell().Column;
  string ssjbmc = sheet.Name;
  
  for (int i = 1; i <= izdh - 1; i++)
  {
      sheet.Rows[i].Hidden = false;
      var cellValue = sheet.Cells[i, idqh].Value;
     
  }
  for (int i = 1; i <= izdh - 1; i++)
  {
      sheet.Rows[i].Hidden = false;
      var cellValue = sheet.Cells[i, idqh].Value;

  }

两个循环一模一样的语句,我要怎么才能防止第二次循环出错。

我如果把第二次循环里面的var cellValue = sheet.Cells[i, idqh].Value;改成var cellValue1 = sheet2.Rows[i][idqh].Value;会提示:“Cell’s row has been removed: O6”

@hudaming
我这边没有问题,这是一个最简工程,点击load加载,等加载完成,点test,没有报错
simpleform.zip (9.9 KB)

如果要批量行列隐藏显示,参考如下写法

           int row = gridDesktop1.Worksheets[0].Cells.MaxRow;
            gridDesktop1.Worksheets[0].Cells.UnhideRows(0, row+1, 20);
            int col = gridDesktop1.Worksheets[0].Cells.MaxColumn;
            gridDesktop1.Worksheets[0].Cells.UnhideColumns(0, col + 1, 80);

我找到问题了,我加了加载的过滤: gridDesktop1.LoadDataFilter = GridLoadDataFilterOptions.CellValue | GridLoadDataFilterOptions.Style; 你在你发的示例上加这个过滤试试。加上的话,第二次循环就报错

加上加载选择:| GridLoadDataFilterOptions.Settings 就不报错了,真是奇怪。改成gridDesktop1.LoadDataFilter = GridLoadDataFilterOptions.CellValue | GridLoadDataFilterOptions.Style | GridLoadDataFilterOptions.Settings;就不报错了 :smiling_face_with_tear:这个gridDesktop1.LoadDataFilter一般要加载一些什么?我只需要数据和格式

这个还挺多的,比如图片,chart之类的

@hudaming
loadoption 按照你设置的确实报错了,建了跟踪单子

Issue ID(s): CELLSNET-54872

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.