首页 > 解决方案 > 保存组合的 excel 文件时,它会在保存时引发错误

问题描述

因此,当它已经保存时,它会显示 System.InvalidOperationException:'保存文件 D 时出错:“PATH + excel 文件”。一切都很好,重命名和循环。但是当它保存时我得到一个错误。

private void CombineExcelv2(string folderPath, string sourceFilePath, string destinationPath = "")
    {
        string[] files = Directory.GetFiles(folderPath, "*.xlsx");

        ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
        ExcelPackage masterPackage = new ExcelPackage();
        masterPackage.Workbook.Worksheets.Add("todelete");
        for (int i = 0; i < files.Length; i++)
        {
            ExcelPackage pckg = new ExcelPackage(new FileInfo(files[i]));

            foreach (var sheet in pckg.Workbook.Worksheets)
            {
                //check name of worksheet, in case that worksheet with same name already exist exception will be thrown by EPPlus

                string workSheetName = sheet.Name;
                foreach (var masterSheet in masterPackage.Workbook.Worksheets)
                {
                    if (sheet.Name == masterSheet.Name)
                    {
                        workSheetName = string.Format("{0}_{1}", workSheetName, DateTime.Now.Ticks.ToString());
                    }
                }

                //add new sheet
                masterPackage.Workbook.Worksheets.Add(workSheetName, sheet);
            }
        }

        Thread.Sleep(1000);
        string saveTo = Path.Combine(Path.GetDirectoryName(sourceFilePath), Path.GetFileNameWithoutExtension(sourceFilePath) + ".xlsx");
        FileInfo fi = new FileInfo(saveTo);
        masterPackage.SaveAs(new FileInfo(saveTo)); // Error Here when saving

标签: c#epplus

解决方案


推荐阅读