我正在尝试使用打开 38MB Excel 文件EPPlus v4.0,我可以将它传递给Excel包变量,但是当我尝试从该变量获取工作簿时,它会导致我出现“系统内存不足异常'.
这是我的代码:
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
我被困住了。任何帮助将不胜感激。提前致谢。
您可能已达到内存限制,因为这是一个大文件。如果您可以选择编译为 64 位,您也许能够解决该问题:
https://stackoverflow.com/a/29912563/1324284 https://stackoverflow.com/a/29912563/1324284
但如果你只能编译到 x86,那么 epplus 就无能为力了。您必须使用不同的库或自己构建 Excel 的 XML 文件:
https://stackoverflow.com/a/26802061/1324284 https://stackoverflow.com/a/26802061/1324284
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)