在 excel C# .NET 的末尾插入行

Posted

技术标签:

【中文标题】在 excel C# .NET 的末尾插入行【英文标题】:Insert row at the end of an excel C# .NET 【发布时间】:2021-11-01 00:50:02 【问题描述】:

大家早上好!

我正在尝试在所有数据的末尾向 Excel 添加一个新行。

如您所见,excel 有一个标题,然后是“billingSummary”中的所有记录。在后者的末尾,我想添加一行来计算总数。

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.Day.ToString() + '/' + item.PaymentDate.Month.ToString() + '/' + item.PaymentDate.Year.ToString(),
                    item.ContractCode.ToString(),
                    item.OwnersAssociationCode.ToString(),
                    item.FunctionalUnitCode.ToString(),
                    item.TotalAmount.ToStringCurrency(),
                    item.PlapsaComission.ToStringCurrency(),
                    item.NetAmount.ToStringCurrency(),
                    item.Type + ' ' + item.PointOfSale + '-' + item.Number,
                
            ));

        //excelDataRows = new List<ExcelDataTableRow>
        //
        //    new ExcelDataTableRow
        //    
        //        CellValues = new List<string>
        //        
        //            "HOLA",
        //            "CHAU"
        //        
        //    
        //;

        return excelDataRows;

我希望你能帮助我!谢谢!

【问题讨论】:

你已经设定了一个目标——是什么阻止你完成它?您尝试过哪些尝试,哪些尝试没有奏效? @mason 我尝试将它与您在此处看到的注释代码一起插入。但它不起作用,因为它重叠了该行的所有内容(“HOLA”和“CHAU”) 【参考方案1】:

关于给excelDataRows设置新值时注释的代码,它正在重置列表的值,您必须使用具有列表的Add方法。

在这里,我将根据您注释的代码为您提供一个示例,说明您应该如何做。

excelDataRows.Add(new ExcelDataTableRow
    
        CellValues = new List<string>
        
            "HOLA",
            "CHAU"
        
    
); 

return excelDataRows;

【讨论】:

这对我有用!谢谢!我没有这样尝试过。

以上是关于在 excel C# .NET 的末尾插入行的主要内容,如果未能解决你的问题,请参考以下文章

.Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)

C#/VB.NET 获取Excel中的表单控件

如何在 ASP.NET 中显示来自 C# 的警告框?

如何使用 oledb 在 c# 中将下拉列数据插入到 excel 中

通过 C# 和 OleDb 在 Excel 电子表格中插入一行

C# 如何将代码附加到正在运行的 .NET .EXE 的末尾,最好是从该 .EXE 内部?