如何解决使用 ClosedXML 在动态列中添加行的总和
有没有办法把可能的行(单元格)的数量是动态的,即行数不固定的给定列的单元格(行)的内容相加(求和),在excel工作表中?我一直在尝试但没有任何有意义的结果,我想计算名为“Total Inc Vat”的最后一列的总计,它是如此动态;这是我的代码片段。
var workbook = new XLWorkbook();
var worksheet = workbook.Worksheets.Add("data");
string filename = "Data from" + " "+ reportParams.StartDate.ToString("dd-MM-yyyy") + " to "+ reportParams.EndDate.ToString("dd-MM-yyyy");
worksheet.Cell(1,1).Value = filename;
// column header
worksheet.Range(1,1,8).Merge().AddToNamed("data");
// column names range to be formatted
worksheet.Range(3,3,8).AddToNamed("data");
// format Total Inc Vat column to currency
worksheet.Column(8).Style.NumberFormat.Format= "0.00";
// column names
worksheet.Cell(3,1).Value = "Document Date";
worksheet.Cell(3,2).Value = "Document Number";
worksheet.Cell(3,3).Value = "Description";
worksheet.Cell(3,4).Value = "Project Code";
worksheet.Cell(3,5).Value = "Project Name";
worksheet.Cell(3,6).Value = "Client Name";
worksheet.Cell(3,7).Value = "Client Account";
worksheet.Cell(3,8).Value = "Total Inc Vat";
//
var titlesstyle = workbook.Style;
titlesstyle.Font.Bold = true;
titlesstyle.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
titlesstyle.Fill.BackgroundColor = XLColor.Cyan;
// format all titles in one shot
workbook.NamedRanges.NamedRange("data").Ranges.Style = titlesstyle;
worksheet.Cell(4,1).SetValue(results);
worksheet.Columns().AdjustToContents();
解决方法
这是所有需要添加的。 Cell()
中的 4 是单元格行,results.Count()
是该单元格中生成的所有内容。
// calculate average of Total Inc Vat
worksheet.Cell(4 + results.Count(),8).FormulaA1 = @$"=SUM(H4:H{3 + results.Count()})";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。