Open TimLee88 opened 1 year ago
此函数影响 ISheet.ShiftRows
Which version of NPOI are you using?
2.6
请问这个问题是在 2.6.1解决了吗? 我这里怎么只有2.6.0
2.6.1 只是规划版本,还没发布呢,2.6.0才刚刚发正式版。半年以后吧。
2.6.1 只是规划版本,还没发布呢,2.6.0才刚刚发正式版。半年以后吧。
那现在这个有什么解决方案吗
我也遇到了这个问题 但在 ShiftRows 之前 执行sheet.GetRow(startRow) != null ? sheet.GetRow(startRow).LastCellNum : sheet.GetRow(endRow) != null ? sheet.GetRow(endRow).LastCellNum : 0; 值为11,但依然抛出了此异常
升级2.6.1 问题依然存在
源码中并没有变化啊
Path:https://github.com/nissl-lab/npoi/blob/master/main/SS/UserModel/Helpers/RowShifter.cs#L61 NPOI.SS.UserModel.Helpers.RowShifter / ShiftMergedRegions (line 61)
...
...
加粗部分的代码,当sheet.GetRow(startRow)得到的IRow中没有Cell时,LastCellNum值为-1, 到 removalNeeded中new CellRangeAddress时,由于lastCol=-1,会抛出 ArgumentException("lastRow < firstRow || lastCol < firstCol") 错误。
建议将此处改为:var lastCol = ushort.MaxValue; 运行正常