在VBA中的npoi SetCellFormula自定义公式

时间:2014-08-01 09:26:05

标签: c# excel vba excel-vba npoi

我有一个应用程序,用数据填充excel模板。模板是.xlsm。在模板中我创建了名为SumByColor的vba函数,当我尝试将单元格公式设置为此函数时,我收到此错误:

{"Name 'SumByColor' is completely unknown in the current workbook"}

我设置了这样的公式:

sheet.GetRow(rowIndex).GetCell(startPos + 2).SetCellFormula(string.Format("SumByColor($AQ$7,F{0}:AI{0})",rowIndex+1));

2 个答案:

答案 0 :(得分:1)

在设置单元格的公式之前,您是否尝试将单元格类型设置为公式?对于Ex:

XSSFRow row = (XSSFRow)sheet.GetRow(i);
ICell cell = row.CreateCell(1);  
cell.SetCellType(CellType.Formula);
cell.SetCellFormula("SUM(B1:B10)");

您可以阅读有关设置公式和约束的更多信息。

答案 1 :(得分:0)

你是如何分配公式的? 你在尝试这样的事吗?

Range("A10") = "=SumByColor($AQ$7,F8:AI8)"