ISheet sheet= null;
using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read))
{
if (strFileName.IndexOf(".xlsx") != -1 )
{
XSSFWorkbook xssfworkbook = new XSSFWorkbook(file);
sheet = xssfworkbook.GetSheetAt(0);
}
else
{
HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
sheet = hssfworkbook.GetSheetAt(0);
}
}
将文件填充到 XSSFWorkbook就会catch 内存溢出
5 个解决方案
#1
既然都说内存溢出了...加内存被 弄个128G内存先试试 看看可以不.
#2
目前是16G内存 Excel 10M 没有其他办法么?
#3
那就分sheet,分别读取。
#4
XSSFWorkbook xssfworkbook = new XSSFWorkbook(file);
他是在这一步提示 内存溢出,用户提供一个多sheet文件,并且要将所有sheet进行导入
列数超过300列,每个sheet数据量在6万条左右
#5
请问你这个问题解决了吗?
#1
既然都说内存溢出了...加内存被 弄个128G内存先试试 看看可以不.
#2
目前是16G内存 Excel 10M 没有其他办法么?
#3
那就分sheet,分别读取。
#4
XSSFWorkbook xssfworkbook = new XSSFWorkbook(file);
他是在这一步提示 内存溢出,用户提供一个多sheet文件,并且要将所有sheet进行导入
列数超过300列,每个sheet数据量在6万条左右
#5
请问你这个问题解决了吗?