【发布时间】:2015-10-05 22:04:25
【问题描述】:
我正在使用 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();
}
【问题讨论】:
-
您有没有找到解决方案?我有同样的问题。从 Excel 保存 XML 后,有没有办法准确地插入 XML?
-
@MatthewD 嗨,马修,我能够通过使用 Excel 互操作库来解决这个问题。你可以试试
-
感谢您回复我。我的任务是更改一些应用程序以不使用互操作库。他们想从工作站中删除 Office。不过还是谢谢。
-
我目前有同样的问题,我正在寻找一种替代方法。我正在尝试使用 OpenXML SDK。我会让你知道结果。
-
我发现的最佳解决方法是拥有一个我复制的模板工作簿。然后我可以打开副本并写入并保存。关闭和打开后我不必再次保存。