我正在从一个模板中生成多个excel副本(它确实很大)。
为此,我首先从文件位置获取模板,然后基于每次迭代的循环,创建一个新的ExcelPackage(newFile,Template)
。
在那之后,我得到了我必须编辑的确切ExcelWorksheet
。
然后编辑后,我将文件另存为newFile。打开保存的文件的时间出现两个问题:
如果Excel实例正在运行,则保存的文件将打开,并显示警告消息,但可以正常工作。 “ Excel有一些内容问题。您要我们恢复吗?”和“ Excel能够恢复一些不可读的内容”
string templateExcel = @"Location\template.xlsx";
FileInfo templateFile = new FileInfo(@"Location\newFile.xlsx");
using (FileStream templateExcelStream = File.OpenRead(templateExcel))
{
using (ExcelPackage copyExcel = new ExcelPackage(templateExcelStream))
{
ExcelWorksheet presentWorkSheet = copyExcel.Workbook.Worksheets["Name"];
presentWorkSheet.Cells[4, 2].Value = Value from condition;
copyExcel.SaveAs(templateFile);
}
}
答案 0 :(得分:1)
感谢大家的宝贵时间。我找到了解决方案。 对我来说,问题出在模板本身,因为它包含对查找表的无效引用。我在公式->名称管理器中找到了它。
如果您遇到此问题,建议您检查模板。