Как сохранить много копий (1000) файла .xlsx из template.xlsx после программного редактирования шаблона - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть список из 1000 клиентов с несколькими объемами данных.И у меня есть шаблон .xlsx для каждого из них.

Мне нужно открыть шаблон, а затем просмотреть каждый элемент списка и отредактировать значение шаблона для каждого из них.После этого я хочу сохранить текущий файл под его именем.

Следующий код работает, но он каждый раз открывает шаблон и занимает слишком много времени для выполнения задачи.

foreach (var item in dataList)
{
    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
    Workbook template = excel.Workbooks.Open(@"Location\book1.xlsx");
    Worksheet template_Sheet = template.Worksheets.get_Item(5);

    Range row1 = template_Sheet.Rows.Cells[4, 14];
    row1.Value = item.value;

    template.SaveAs(@"Location\"+ item.name+ ".xlsx", 
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, XlSaveAsAccessMode.xlExclusive, Type.Missing,
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing);

    template.Close();                   
}

Есть ли более быстрый способ, чтобы я мог открыть шаблон, а затем просмотреть список, отредактировать шаблон и сохранить его как копию для каждого элемента списка и, наконец, закрыть файл?

...