如何解决 SystemOutOfMemory 异常
How to solve SystemOutOfMemory Exception
我在以下行的应用程序中遇到异常:
Workbook workbook = new Workbook(fstream);
异常:
Exception of type 'System.OutOfMemoryException' was thrown.
C#代码:
string tempPath = @"C:\File_TDv01.xlsx";
foreach (string templateFile in Directory.GetFiles(tempPath))
{
using (FileStream fstream = new FileStream(templateFile, FileMode.Open))
{
Workbook workbook = new Workbook(fstream); //getting exception here
Worksheet worksheet = workbook.Worksheets[0];
ArrayList List = new ArrayList();
//other code
}
}
catch (Exception ex)
{
}
我正在处理大小为 38,436 KB 的 Excel 文件;其中有 10K 行。
Web 配置设置:
<add key="maxFileSizeLimit" value="2147483647" />
<httpRuntime targetFramework="4.5" maxQueryStringLength="52768" enable="true" maxRequestLength="2147483647"/>
<requestLimits maxQueryString="52768" maxAllowedContentLength="4294967295" />
我的代码有什么问题,我该如何解决这个异常?
我无法对代码进行大量更改,因为它已经上线了。
@user3196511
能否向我们提供您的模板文件“01_TDv01.xlsx”。我们需要使用您的模板文件评估您的问题。还请确保您有足够的内存(例如文件大小的 10 倍或更多内存)可用于加载大文件的大进程我们还建议您尝试我们最新的 version/fix:Aspose.Cells for .NET v17.6.x(如果您尚未使用它)。此外,您应该尝试在加载模板文件时将 MemoryPreference 属性设置为 on,请参阅以下示例代码以供参考:
例如
示例代码:
//Specify the LoadOptions
LoadOptions opt = new LoadOptions();
//Set the memory preferences
opt.MemorySetting = MemorySetting.MemoryPreference;
using (FileStream fstream = new FileStream(templateFile, FileMode.Open))
{
Workbook workbook = new Workbook(fstream, opt); //getting exception here
Worksheet worksheet = workbook.Worksheets[0];
//other code
}
我在 Aspose 担任支持开发人员/传播者。
我在以下行的应用程序中遇到异常:
Workbook workbook = new Workbook(fstream);
异常:
Exception of type 'System.OutOfMemoryException' was thrown.
C#代码:
string tempPath = @"C:\File_TDv01.xlsx";
foreach (string templateFile in Directory.GetFiles(tempPath))
{
using (FileStream fstream = new FileStream(templateFile, FileMode.Open))
{
Workbook workbook = new Workbook(fstream); //getting exception here
Worksheet worksheet = workbook.Worksheets[0];
ArrayList List = new ArrayList();
//other code
}
}
catch (Exception ex)
{
}
我正在处理大小为 38,436 KB 的 Excel 文件;其中有 10K 行。
Web 配置设置:
<add key="maxFileSizeLimit" value="2147483647" />
<httpRuntime targetFramework="4.5" maxQueryStringLength="52768" enable="true" maxRequestLength="2147483647"/>
<requestLimits maxQueryString="52768" maxAllowedContentLength="4294967295" />
我的代码有什么问题,我该如何解决这个异常?
我无法对代码进行大量更改,因为它已经上线了。
@user3196511
能否向我们提供您的模板文件“01_TDv01.xlsx”。我们需要使用您的模板文件评估您的问题。还请确保您有足够的内存(例如文件大小的 10 倍或更多内存)可用于加载大文件的大进程我们还建议您尝试我们最新的 version/fix:Aspose.Cells for .NET v17.6.x(如果您尚未使用它)。此外,您应该尝试在加载模板文件时将 MemoryPreference 属性设置为 on,请参阅以下示例代码以供参考: 例如 示例代码:
//Specify the LoadOptions
LoadOptions opt = new LoadOptions();
//Set the memory preferences
opt.MemorySetting = MemorySetting.MemoryPreference;
using (FileStream fstream = new FileStream(templateFile, FileMode.Open))
{
Workbook workbook = new Workbook(fstream, opt); //getting exception here
Worksheet worksheet = workbook.Worksheets[0];
//other code
}
我在 Aspose 担任支持开发人员/传播者。