我讀C#中的電子表格中使用openxml庫,並且我使用的innerText propierty解析細胞對象的值,即返回字符串或null。從電子表格讀取與式OPENXML
當細胞存在一個公式,我得到目前在電子表格中的文字文本,這樣的:
= Sheet1中A1Content
由組成:前一個分子式(工作表Sheet1! A1)+字符串的結果(內容) 這種情況也會發生,如:= 2 + 24
我怎樣才能得到公式的結果?
我讀C#中的電子表格中使用openxml庫,並且我使用的innerText propierty解析細胞對象的值,即返回字符串或null。從電子表格讀取與式OPENXML
當細胞存在一個公式,我得到目前在電子表格中的文字文本,這樣的:
= Sheet1中A1Content
由組成:前一個分子式(工作表Sheet1! A1)+字符串的結果(內容) 這種情況也會發生,如:= 2 + 24
我怎樣才能得到公式的結果?
對於公式,本身存儲的˚F元件作爲Ç的子元素中的公式。 下面的公式是元素中的實際計算值。
還有一個例子,對於一個單細胞這個開放的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;
}
嗨亞歷山大,也許你的意思是一個單元元素? – Ozeta
@Ozeta是的,我的壞,編輯它 –
你嘗試了谷歌搜索'C#從表格中讀取一個公式與OPENXML'http://openxmldeveloper.org/blog/ b/openxmldeveloper/archive/2012/11/04/formula-processing-in-spreadsheetml.aspx – MethodMan
我搜索過但我沒有找到該鏈接。我會從那裏開始。 – Ozeta
@MethodMan我讀了這個頁面,但沒有找到有用的東西。我理解了公式的結構,但並沒有關於它的閱讀,因爲我理解它 – Ozeta