OutOfMemory,同时将图片添加到Excel工作表

我有内存问题。

我想要添加图片到我的Excel。 Picuters在azure色的一滴。

添加图片1K后,我的程序放缓,直到outofmemoryexception。

我将在这里粘贴我的代码:

string filePath = @"excel.xlsx"; int i = 0; public void Generate(int worksheetnumber) { using (FileStream fileStream = File.Open(filePath, FileMode.Open)) { var package = new ExcelPackage(fileStream); ExcelWorksheet workSheet = package.Workbook.Worksheets[worksheetnumber]; workSheet.Column(2).Width = 21; workSheet.Column(4).Width = 21; for (int j = workSheet.Dimension.Start.Row + 1; j <= workSheet.Dimension.End.Row; j++) { InsertImage(workSheet, j, 1); InsertImage(workSheet, j, 3); } string path = string.Format(@"{0}.xlsx", worksheetnumber); Stream stream2 = File.Create(path); package.SaveAs(stream2); stream2.Close(); } } private void InsertImage(ExcelWorksheet workSheet, int j, int columnNumber) { if (!string.IsNullOrEmpty(workSheet.Cells[j, columnNumber].Text)) { try { var splittedUrlHash = workSheet.Cells[j, columnNumber].Text.Split('/'); using (var stream = DownloadBlobFileToStream(splittedUrlHash[1], splittedUrlHash[0], SHOP)) { Image image = Image.FromStream(stream); var picture = workSheet.Drawings.AddPicture(string.Format("{0}{1}", j, columnNumber+1), image); stream.Close(); picture.From.Column = columnNumber; picture.From.Row = j - 1; picture.To.Column = columnNumber; picture.To.Row = j - 1; picture.SetSize(150, 120); workSheet.Row(j).Height = 100; Debug.WriteLine("Dodano obrazek - {0}", i); i++; } } catch (System.ArgumentException e) { } } } 

我想承认,我在第1和第3列中有一个链接图像。图像位于第2和第4列。

在这种情况下是否有解决scheme来处理这个错误,而不会丢失图像,或者留下空单元格