使用EPPlus在GDI + Drawings.AddPicture中发生了一般错误

时间:2016-06-08 11:50:06

标签: c# excel gdi+ system.drawing epplus

我想在Excel中添加图片。我使用图书馆EPPLus。有必要获得BASE64格式的图像并插入Excel中的单元格

我的代码:

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;
        }
    }

1 个答案:

答案 0 :(得分:3)

来自MSDN

  

您必须在图像的生命周期内保持流打开。

我认为您不需要在MemoryStream

中附上using