NPOI 中的公式列的值的獲取


方法1 NPOI 中,對 sheet 對象設置 ForceFormulaRecalculation = true,即可實現自動將 Excel 的公式計算出來。

方法2 循環 Excel 的行、列,取出各個單元格,判斷單元格的 CellType 是否等於 NPOI.SS.UserModel.CellType.Formula(注意,在老版本中 Formula 為大寫),如果等於就執行 Evaluate

  //創建當前sheet 的動態公式計算器
                            HSSFFormulaEvaluator evalor = new HSSFFormulaEvaluator(workbook);


//解析列中的內容
                                        var cellType = cellObj.CellType;
                                        switch (cellType)
                                        {
                                           
                                            case CellType.Formula:
                                                //針對公式列 進行動態計算;注意:公式暫時只支持 數值 字符串類型
                                                var formulaValue = evalor.Evaluate(cellObj);
                                                if (formulaValue.CellType== CellType.Numeric)
                                                {
                                                    dataRow[j] = formulaValue.NumberValue;
                                                }
                                                else if(formulaValue.CellType == CellType.String)
                                                {
                                                    dataRow[j] = formulaValue.StringValue;
                                                }
                                                
                                                break;
                                            default:
                                                dataRow[j] = cellObj;
                                                break;
                                        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM