[英]reading a formula from a spreadsheet with openxml
我正在使用Openxml庫在C#中讀取電子表格,並且正在使用InnerText屬性解析Cell對象的值,該屬性返回String或null 。
在單元格中出現公式時,我將在電子表格中獲得文字文本,如下所示:
= Sheet1!A1Content
它由以下組成:以前的公式(Sheet1!A1)+結果的字符串(Content),並且這種情況也會發生,例如= 2 + 24
我如何只得到公式的結果?
對於公式,公式本身存儲在f元素內作為c的子元素。 公式之后是元素內的實際計算值。
還有一個示例,此打開的xml用於單個單元格:
<c r="B9" s="3" t="str">
<f>SUM(B2:B8)</f>
<v>2105</v>
</c>
因此,在Cell
元素中,該Formula
有一個子元素,而CellValue
有一個子元素。 在您的情況下,單元格的InnerText
屬性是這兩者的串聯值。 如果您已經擁有該單元,則可以執行以下操作:
static string GetValue(Cell cell)
{
//The ? operator to make sure the 'CellValue' element exists, otherwise return null
return cell.GetFirstChild<CellValue>()?.Text;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.