簡體   English   中英

C# EPPlus 獲取公式單元格的值

[英]C# EPPlus get value of formula cell

我在許多單元格中有一個簡單的公式,我試圖將該公式的結果放入我的程序中的變量中。 我的初始代碼是:
var ECC = ws.Cells["B14"].Value; decimal ECP = Convert.ToDecimal(ECC);
但這給了我一個錯誤“System.InvalidCastException:'無法將'OfficeOpenXml.ExcelErrorValue'類型的object轉換為'System.IConvertible'。'”我嘗試計算並添加一個toString,使我的代碼:
ws.Cells["B14"].Calculate(); decimal ECP = Convert.ToDecimal(ws.Cells["B14"].Value.ToString());
這給了我一個不同的錯誤:“System.FormatException:'輸入字符串的格式不正確。'”在第二行。

公式的結果將始終是小數,重要的是我將其放入小數變量中,因為我將該值放入 SQL 數據庫中。 我怎樣才能做到這一點沒有錯誤?

這適用於我的一個應用程序:

var pressure = informationWorkSheet.Cells[30, 3];

將其轉換為小數:

Decimal pressureDecimal = (Decimal) pressure;

或者解析它:

Decimal.Parse(pressure.ToString());

使用decimal.TryParse嘗試這種方法。 在我的示例應用程序中按預期工作。 測試值:3,2 / 3.2 / 5

string ECC = ws.Cells["B14"].Value.ToString();
bool isDecimal = decimal.TryParse(ECC, out decimal result);
if (isDecimal)
{
    decimal ECP = result;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM