You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#.NET 如何在Excel现有数据末尾插入新行计算汇总值

实现方案

你只需要在原有业务数据追加完成后、return语句之前,增加汇总值计算和汇总行追加的逻辑即可,完整可运行代码如下:

var excelDataRows = new List<ExcelDataTableRow>
{
    new ExcelDataTableRow
    {
        CellValues = new List<string>
        {
            "Fecha",
            "Contrato",
            "Consorcio",
            "Unidad",
            "Importe Cobrado",
            "Comisión Plataforma",
            "Neto",
            "Factura"
        }
    }
};

excelDataRows.AddRange(billingSummary.OrderBy(x => x.PaymentDate)
    .ThenBy(x => x.OwnersAssociationCode)
    .ThenBy(x => x.FunctionalUnitCode)
    .Select(item => new ExcelDataTableRow
    {
        CellValues = new List<string>
        {
            // 原手动拼接日期可优化为格式化方法,写法更简洁
            item.PaymentDate.ToString("dd/MM/yyyy"),
            item.ContractCode.ToString(),
            item.OwnersAssociationCode.ToString(),
            item.FunctionalUnitCode.ToString(),
            item.TotalAmount.ToStringCurrency(),
            item.PlapsaComission.ToStringCurrency(),
            item.NetAmount.ToStringCurrency(),
            item.Type + ' ' + item.PointOfSale + '-' + item.Number,
        }
    }));

// 新增汇总行逻辑
// 计算需要汇总的三个金额字段总和
var totalAmountSum = billingSummary.Sum(x => x.TotalAmount);
var comissionSum = billingSummary.Sum(x => x.PlapsaComission);
var netAmountSum = billingSummary.Sum(x => x.NetAmount);
// 构造汇总行追加到列表末尾
excelDataRows.Add(new ExcelDataTableRow
{
    CellValues = new List<string>
    {
        "总计", // 第一列作为汇总标识,可根据需求修改或留空
        "",
        "",
        "",
        totalAmountSum.ToStringCurrency(),
        comissionSum.ToStringCurrency(),
        netAmountSum.ToStringCurrency(),
        ""
    }
});

return excelDataRows;

补充说明

  • 汇总行的前四列可根据业务需要调整显示内容,不需要汇总标识的话直接设置为空字符串即可
  • 如果需要对其他字段做汇总统计,只需修改对应求和逻辑和单元格赋值即可

内容的提问来源于stack exchange,提问作者Gianfranco Grigera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:06:04