2016-06-08 45 views
0

我想在Excel中添加圖片。我使用EPPLus庫。有必要獲得BASE64格式的圖像,並在Excel中插入細胞在GDI + Drawings.AddPicture中使用EPPlus發生的一般錯誤

我的代碼:

using (System.Drawing.Image img = Base64ToImage(base64String)) 
          { 
          ExcelPicture excelImage = null; 
           if (img != null) 
           { 
       ERROR HERE   excelImage = worksheet.Drawings.AddPicture("Title", img); 
           excelImage.From.Column = 1; 
           excelImage.From.Row = 1; 
           excelImage.SetSize(100, 100); 
           } 
          } 


public Image Base64ToImage(string base64String) 
    { 
     // Convert base 64 string to byte[] 
     byte[] imageBytes = Convert.FromBase64String(base64String); 
     // Convert byte[] to Image 
     using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) 
     { 
      Image image = Image.FromStream(ms, true); 
      return image; 
     } 
    } 
+0

在哪裏的問題附上MemoryStream?你會得到什麼樣的例外以及在哪裏? –

+0

錯誤在這裏:工作表。圖紙。 AddPicture(「Title」,img); ErrorMessage:在GDI + –

回答

2

MSDN

你必須保持流開放壽命的圖像。

我不認爲你需要using

+0

中發生了一般性錯誤您認爲Base64ToImage()方法中的錯誤? –

+0

是的。嘗試刪除'使用'那裏 –

+0

好的。謝謝 –

相關問題