Как создать лист Excel из шаблона Excel лист программно?

2

Я создаю лист excel из листа tempalte excel.

У меня есть код

  try
    {
        FileInfo newFile = new FileInfo(@"D:\ExcelFromTemplate.xlsx");
        FileInfo template = new FileInfo(@"D:\template.xlsx");

        using (ExcelPackage xlPackage = new ExcelPackage(newFile,template))
        {

            ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"];

            ExcelCell cell = worksheet.Cell(5,1);
            cell.Value = "15";

            //worksheet.Cell(5, 1).Value = "Soap";

            //xlPackage.Save();
            Response.Write("Excel file created successfully");
        }

    }
    catch (Exception ex)
    {
        Response.WriteFile(ex.InnerException.ToString());
    }  

этот код создает новый файл excel так же, как файл excel шаблона, но не может добавить значение ячейки. Зачем?

Я пробовал это двумя способами, как в предыдущем коде для ячейки (5,1). Но лист excel создается без указания значения ячейки. Как мы можем добавить его.

С уважением, Гириш

  • 0
    Попробуйте использовать ответы на предыдущие вопросы stackoverflow.com/questions/1624095/… stackoverflow.com/questions/1623266/…
  • 0
    почему вы закомментировали вызов .Save ()? Вы получили ошибку? Если так: какая ошибка была ?? Разрешения снова ??
Показать ещё 1 комментарий
Теги:
excel
excelpackage

1 ответ

2

Вам нужно сохранить файл, чтобы сохранить сделанные изменения. Использование save()

  try
        {
            FileInfo newFile = new FileInfo(@"D:\ExcelFromTemplate.xlsx");
            FileInfo template = new FileInfo(@"C:\Example.xlsx");

            using (ExcelPackage xlPackage = new ExcelPackage(newFile , template))
            {

               //Added This part
               foreach (ExcelWorksheet aworksheet in xlPackage.Workbook.Worksheets)
                {
                    aworksheet.Cell(1, 1).Value = aworksheet.Cell(1, 1).Value;
                }

                ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["My Data"];

                ExcelCell cell = worksheet.Cell(5, 1);
                cell.Value = "15";

                //worksheet.Cell(5, 1).Value = "Soap";

                xlPackage.Save( );
                //Response.Write("Excel file created successfully");
            }

        }
        catch (Exception ex)
        {
            //Response.WriteFile(ex.InnerException.ToString());
        }

У тебя проблема. Проблема присуща ExcelPackage. Для этого вам нужно открыть каждый лист и внести некоторые изменения для его сохранения.

Искать в форуме дополнительные пояснения.

  • 0
    Всякий раз, когда я добавил xlPackage.Save (); тогда это дает мне ошибку «Ссылка на объект не установлена на экземпляр объекта». В чем проблема????
  • 0
    Извините за задержку был чем-то занят. Является ли этот пакет Excel связано с следующим excelpackage.codeplex.com

Ещё вопросы

Сообщество Overcoder
Наверх
Меню