我想使用EPPlus库生成excel报表。这是我在初始化加载文件代码:使用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 stackoverflow。
感谢您的回复,但我怎么不''''''输出的内存流。写入磁盘,而不是'? –