2016-11-28 112 views
2

試圖使用EPPLUS編寫一個簡單的公式,但似乎無法找到解決辦法。EPPLUS問題與公式

的公式如下:C 12 =(SUM(D12:E12))

我曾嘗試過各種組合,而且也不太清楚哪個選項將允許我定義這樣一個簡單的公式。

它總是抱怨「 - 」不能應用於串串等

任何想法如何寫這樣的公式

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "SUBTOTAL" + (worksheet.Cells[this.CurrRow, iStart_column - 1]) - ("SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn]); 
+0

http://pastebin.com/3GWZZi3G這是我最後一次嘗試 –

回答

4

如果我明白你正在嘗試做的,你生成公式動態。在這種情況下,你會得到一個錯誤,因爲你在字符串上使用數學-,這當然不能完成。我想你會的是這樣的:

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "=SUBTOTAL("+ worksheet.Cells[this.CurrRow, iStart_column - 1].Address + "-(SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn].Address + ")))"; 

注意使用Address性能,這將給Cell對象的字符串表示的。

注意:您的SUBTOTAL的實施不是真的正確,Excel會在打開文件時抱怨它。這是EPPlus更爲出色的問題,因此您必須解決或發佈更多詳細信息。

+0

太好了。是的桌子是動態的。謝謝。我不太確定我應該使用哪個選項,但會再次嘗試並報告回來。歡呼 –

+0

這很奇怪。我已經更新了我的產品線,並可以運行該應用程序並生成excel。該命令顯示OK,但獲得#VALUE!消息。但是,如果我從同一個單元格複製粘貼公式並將其粘貼到電子表格的其他位置,我會得到正確的結果。 http://pastebin.com/eySwexzS。有任何想法嗎? –

+0

這似乎工作。 http://pastebin.com/HXeSg5tb –