使用EPPlus库并将公式加载到包含以科学计数法表示的数字的单元格中。单元格的计算方法返回意外值“ {#NAME?}”
试图将单元格样式Numberformat.Format更改为“ 0.00E + 00”和“ ## 0.0E + 0”,但对预期结果仍然不满意。
var tmpFile = Path.GetTempFileName();
using (var pck = new OfficeOpenXml.ExcelPackage())
{
using (var fs = new FileStream(tmpFile, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
{
var ws = pck.Workbook.Worksheets.Add("calc");
ws.Cells["A1"].Style.Numberformat.Format = "0.00E+00";
ws.Cells["A1"].Formula = "1.26E+6";
ws.Cells["A1"].Calculate();
var v = ws.Cells["A1"].Value;
}
}
File.Delete(tmpFile);
预期值为1260000(请参见代码段变量v),但取值为{#NAME?}。