尝试使用EPPLUS编写一个简单的公式,但似乎找不到解决方法。

公式如下:= C12-(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]);

最佳答案

如果我了解您要执行的操作,那么您将动态生成公式。在这种情况下,您会遇到错误,因为您在字符串上使用了数学-,这当然是无法实现的。我认为您想要的是这样的:

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相比,这是一个更出色的问题,因此您将必须解决或发布更多细节。

关于c# - EPPLUS与公式有关的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40848008/

10-13 09:02