У меня есть список из 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();
}
Есть ли более быстрый способ, чтобы я мог открыть шаблон, а затем просмотреть список, отредактировать шаблон и сохранить его как копию для каждого элемента списка и, наконец, закрыть файл?