使用 EPPlus 应用公式将每行两列中的值相乘

Applying formula to multiply values in two columns for each row using EPPlus

我有一个程序可以将许多行写入 Excel 电子表格:

int row = HEADER_ROW + 1;
foreach (var i in items)
{
    worksheet.Cells[row, 1].Value = i.description;
    worksheet.Cells[row, 2].Style.Numberformat.Format = "[=10=].00";
    worksheet.Cells[row, 2].Value = i.amount; // this is a decimal
    worksheet.Cells[row, 3].Value = i.quantity; // this is an int

    // multiply the values in cols 2 and 3 and display the result in col 4
    //worksheet.Cells[row, 4].Formula = ?

    row++;
}
worksheet.Calculate();

我如何要求 EPPlus 在写入的每一行的第 4 列中创建一个公式,将第 2 列和第 3 列中的值相乘?也就是说,实现与在 Excel 电子表格中手动键入公式“=B6*C6”(或第一行中的任意一个)相同的效果,然后将其拖到该列中。

您可以为此使用范围。

var range = worksheet.Cells[1, 4, worksheet.Dimension.End.Row, 4];
range.Formula = string.Format("{0}*{1}", worksheet.Cells[1, 2].Address, worksheet.Cells[1, 3].Address);