[英]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.