liu784855 2021-11-03 11:05 采纳率: 0%
浏览 33
已结题

NPOI :EvaluateFormulaCell(cell) 评估单元格结果的函数报数组越界错误

从公式类型的单元格读取值时,需要先调用评估函数得到结果,部分公式单元格返回了数组越界的错误。

翻阅NPOI 评估函数相关代码 发现问题出现在一下代码

   int startIx = cce.GetHashCode() % arr.Length;
 
            for (int i = startIx; i < arr.Length; i++)

此处的startIx 可能为负数导致的数组越界。 没有知道解决方案,各位同学帮忙看看。

一下是部分DEBUGLOG

IndexOutOfRangeException: Index was outside the bounds of the array.
NPOI.SS.Formula.FormulaCellCacheEntrySet.AddInternal (NPOI.SS.Formula.CellCacheEntry[] arr, NPOI.SS.Formula.CellCacheEntry cce) (at <99794dfbb4dc4cc184c11b23b5708e9c>:0)
NPOI.SS.Formula.FormulaCellCacheEntrySet.Add (NPOI.SS.Formula.CellCacheEntry cce) (at <99794dfbb4dc4cc184c11b23b5708e9c>:0)
NPOI.SS.Formula.CellCacheEntry.AddConsumingCell (NPOI.SS.Formula.FormulaCellCacheEntry cellLoc) (at <99794dfbb4dc4cc184c11b23b5708e9c>:0)
NPOI.SS.Formula.FormulaCellCacheEntry.ChangeConsumingCells (NPOI.SS.Formula.CellCacheEntry[] usedCells) (at <99794dfbb4dc4cc184c11b23b5708e9c>:0)
NPOI.SS.Formula.FormulaCellCacheEntry.SetSensitiveInputCells (NPOI.SS.Formula.CellCacheEntry[] sensitiveInputCells) (at <99794dfbb4dc4cc184c11b23b5708e9c>:0)

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月11日
    • 修改了问题 11月3日
    • 创建了问题 11月3日

    悬赏问题

    • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
    • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
    • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
    • ¥15 SPSS分类模型实训题步骤
    • ¥15 求解决扩散模型代码问题
    • ¥15 工创大赛太阳能电动车项目零基础要学什么
    • ¥20 limma多组间分析最终p值只有一个
    • ¥15 nopCommerce开发问题
    • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
    • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决