【发布时间】:2015-07-13 01:11:50
【问题描述】:
我想使用 EPPlus 库生成 excel 报告。这是我在初始化时加载文件的代码:
ExcelPackage pkg = new ExcelPackage(new FileInfo(filePath));
由于我的报告中有大量数据,我面对OutOfMemoryException。 codeproject article 描述了如何创建大型 Excel 报告。作者的方法是将部分数据的报告保存到Excel文件中,关闭包然后重新打开excel文件并添加另一部分数据等等......。我将此应用于我的项目:
//Going to save log package.
pkg.Save();
//Package saved and Disposed.
var fileInfo = pkg.File;
//Again loading file into package...
pkg.Load(new FileStream(fileInfo.FullName, FileMode.Open));
这里的重点是,当我保存包时,它会自动释放。处理后我想内存会被释放,但是当我看到任务管理器时没有发生。之后我再次加载excel文件as discribed in another post in *。
【问题讨论】: