EPPlus'System.OutOfMemoryException'

我试图用EPPlus v4.0打开一个38MB的Excel文件,我可以将它传递给ExcelPackagevariables,但是当我试图从该variables中获取工作簿时,它会导致我出现“ System.OutOfMemoryException ”。

这是我的代码:

Dim temppath = Path.GetTempPath() Dim filenamestr As String = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) Dim tempfilename As String = Path.Combine(temppath, filenamestr + ".xlsx") fileUploadExcel.SaveAs(tempfilename) Dim XLPack = New ExcelPackage(File.OpenRead(tempfilename)) GC.Collect() If File.Exists(tempfilename) Then File.Delete(tempfilename) End If Dim xlWorkbook As ExcelWorkbook = XLPack.Workbook 'the error shows here 

我卡住了。 任何帮助真的不胜感激。 提前致谢。

你可能会碰到内存限制,因为这是一个很大的文件。 如果你有select编译为64位,你可能可以解决这个问题:

https://stackoverflow.com/a/29912563/1324284

但是如果你只能编译到x86,你可以用epplus做很多事情。 您将不得不使用不同的库或为自己创build用于excel的XML文件:

https://stackoverflow.com/a/26802061/1324284

基本的XlsIO是一个用.NET加载大型Excel文件的选项。

如果您符合条件(less于100万美元的收入),那么整套控件都可以通过社区许可计划免费获得(商业应用程序)。 社区许可证是完整的产品,没有限制或水印。

注意:我为Syncfusion工作。