Вставка строки в конце excel C# .NET

#c# #.net #excel #asp.net-mvc #linq

Вопрос:

Всем доброе утро!

Я пытаюсь добавить новую строку в excel в конце всех данных.

Как вы можете видеть, в excel есть заголовок, а затем все записи из «Итогового отчета». В конце последнего я хотел бы добавить строку для расчета итогов.

 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;
 

Я надеюсь, что вы сможете мне помочь! Спасибо!

Комментарии:

1. Вы поставили перед собой цель — что мешает вам ее достичь? Что вы пробовали, что не сработало с вашей попыткой?

2. @mason Я попытался вставить его с прокомментированным кодом, который вы видите там. Но это не сработало, потому что это перекрывало все для этой строки («HOLA» и «CHAU»)

Ответ №1:

Что касается кода, который прокомментировал, что при установке нового значения excelDataRows он сбрасывает значение списка, то вам нужно использовать Add метод, содержащий список.

Здесь я оставляю вам пример того, как вы должны это сделать, основываясь на коде, который вы прокомментировали.

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

return excelDataRows;
 

Комментарии:

1. Это сработало для меня! Спасибо! Я никогда не пробовал это так.