简体   繁体   English

如何使用Epplus在Excel中从Base64编码图像中插入图片

[英]How to insert picture in Excel from Base64 encoded image using Epplus

I have an image in a format Base64. 我有一个格式为Base64的图像。 I need to show in a picture cell from Base64 encoded image. 我需要在Base64编码图像的图片单元中显示。

This is how I have fixed this one in my code. 这就是我在代码中修复此问题的方式。

var receiptSheet = package.Workbook.Worksheets.Add("Receipt");
int rowIndex = 1;
int columnIndex = 1;

var base64String =  fromDataBase;
base64String = base64String.Replace(" ", "+");
int mod4 = base64String.Length % 4;
if (mod4 > 0)
{
    base64String += new string('=', 4 - mod4);
}

var image = Base64StringToBitmap(base64String);
ExcelPicture picture = null;
if (image != null)
{
    picture = receiptSheet.Drawings.AddPicture("pic" + rowIndex.ToString() + columnIndex.ToString(), image);
    picture.From.Column = columnIndex;
    picture.From.Row = rowIndex;
    picture.SetSize(600, 400);
}
package.Save();

private Bitmap Base64StringToBitmap(string base64String)
{
    var bitmapData = Convert.FromBase64String(FixBase64ForImage(base64String));
    var streamBitmap = new System.IO.MemoryStream(bitmapData);
    var bitmap = new Bitmap((Bitmap)Image.FromStream(streamBitmap));
    return bitmap;
}

private string FixBase64ForImage(string Image)
{
   var sbText = new System.Text.StringBuilder(Image, Image.Length);
   sbText.Replace("\r\n", String.Empty); 
   sbText.Replace(" ", String.Empty);
   return sbText.ToString();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从Base64编码图像在Word中插入图片 - How to insert picture in Word from Base64 encoded image 从base64编码的字符串创建图像(Silverlight 4.0) - Creating image from base64 encoded string (Silverlight 4.0) base64编码图像的哪种数据类型? - Which datatype for base64 encoded image? 如何从编码的 base64 UTF 字符串中删除 BOM? - How to remove BOM from an encoded base64 UTF string? 如何使用JSON从WCF REST服务返回Base64编码的字节数组? - How to return a Base64 encoded byte array from a WCF REST service using JSON? 图片从MediaLibrary到Base64字符串 - Picture from MediaLibrary to Base64 String 如何使用 EPPlus 从 Excel 文件 (xlsx) 中获取/读取图片 - How to get/read picture from Excel file (xlsx) using EPPlus 如果我具有Base64编码的字符串,如何使用DocumentFormat.OpenXML将图像绘制到MS Word文档中? - How to paint image into MS Word document using DocumentFormat.OpenXML if I have a Base64 encoded string? 从C#发送到PHP的Base64编码图像数据产生损坏的显示图像 - Base64 encoded image data sent from C# to PHP yields broken displayed image 如何使用 base64 链接在 email 的附件中发送 base64 图像? - How to send base64 image in attachment of email using base64 link?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM