[英]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.