在C#中使用Spire.Xls在读取Excel单元格的值时,如果单元格包含公式,读取出来结果为函数的公式,以下将会说明如何直接获取结果值

//使用该方法可以获取单一单元格的结果值

wb.LoadFromFile(“1.xls”);
//获取第一个工作表
sheet = wb.Worksheets[0];
sheet.Range["A1"].fomulavalue.ToString();




//使用以下方法可以替换EXCEL中所有公式为结果值

   //加载XLS文档
   Workbook workbook = new Workbook();
   workbook.LoadFromFile("Sample.xlsx");
   //遍历所有工作表
   foreach (Worksheet sheet in workbook.Worksheets)
   {
       //遍历所有单元格
       foreach (CellRange cell in sheet.Range)
       {
           //判断单元格是否包含公式
           if (cell.HasFormula)
           {
               //获取公式值
               Object value = cell.FormulaValue;
               //清除单元格内容
               cell.Clear(ExcelClearOptions.ClearContent);
               //将公式值填充到单元格中
               cell.Value2 = value;
           }
       }
   }
   //保存结果文件
   workbook.SaveToFile("DeleteFormula.xlsx", ExcelVersion.Version2013);


Per Aspera Ad Astra