2016-06-08 6 views
0

Excel에서 그림을 추가하고 싶습니다. 나는 EPPLus 라이브러리를 사용한다. BASE64 형식의 이미지를 획득하고 Excel에서 셀에 삽입 할 필요가EPPlus를 사용하는 GDI + Drawings.AddPicture에서 일반 오류가 발생했습니다.

내 코드 :

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 ("제목", img); ErrorMessage : GDI + –

답변

2

MSDN에서 :

당신은 평생 오픈 스트림을 유지해야 이미지의

난 당신이 질문은 using

+0

에서 일반 오류가 발생했습니다. Base64ToImage() 메서드에서 오류가 있다고 생각합니까? –

+0

예. '사용'을 제거하십시오. –

+0

좋습니다. 고맙습니다 –

관련 문제