问题描述
int row = HEADER_ROW + 1;
foreach (var i in items)
{
worksheet.Cells[row,1].Value = i.description;
worksheet.Cells[row,2].Style.Numberformat.Format = "$0.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,3].Address);