使用 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);
我有一个程序可以将许多行写入 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);