如果我使用EPPlus保存它或者手动保存它,为什么我的Excel文件的大小会改变?

时间:2015-10-05 22:04:26

标签: .net excel epplus

我正在使用EPPlus编辑现有的Excel文件。它工作得很好但是有趣的是:当我使用EPPlus保存这个文件时,文件的大小是51.0 KB。如果我在编辑后打开同一个文件并手动保存,则文件大小将增加到59.1 KB。

任何人都知道为什么会这样? 有没有办法避免这种行为?
我的意思是,让EPPlus将此文件保存为它的实际大小(59.1 KB) 手动保存此文件或使用EPPlus有什么区别?

我所做的另一个观察是,当我使用EPPlus编辑它后打开此文件时,如果我在手动保存文件后再加载文件需要更多时间。

这是我的代码:

        FileInfo file = new FileInfo(@"C:\Desktop\MyExcelFile.xlsx");
        using (var package = new ExcelPackage(file))
        {
            ExcelWorkbook workBook = package.Workbook;
            ExcelWorksheet currentWorksheet = workBook.Worksheets.SingleOrDefault(w => w.Name == "MyWorkSheet");
            currentWorksheet.Cells[2, 2].Value = "Value1";
            currentWorksheet.Cells[3, 2].Value = "Value2";
            currentWorksheet.Cells[2, 1].Value = "Value3";
            currentWorksheet.Cells[3, 1].Value = "Value4";
            package.Save();

        }

1 个答案:

答案 0 :(得分:0)

那些xlsx文件只是带有xml的压缩目录。如果你想看到它们之间的区别,只需解压缩它们(7zip将起作用),并使用diff工具来比较这两个目录。大小差异将由于excel保存您在工作簿中的最后位置而EEPlus没有,或者xml是如何格式化的。通常,您不应期望EEPlus生成与Excel完全相同的输出。