问题:
当我以编程方式打开一个带有形状(例如箭头)的Excel文件时,然后如果我尝试获取字节({{1} })这个新的修改后的Excel文件会崩溃。
重现错误的步骤:
创建一个Excel文件(xlsx)并在其中添加形状(例如箭头)
使用此代码打开该文件并添加程序化图片
GetAsByteArray
有什么想法或解决方法吗?
答案 0 :(得分:0)
尝试此代码。添加图像后,它将为您提供字节。但是Excel文件不会发生其他任何事情。
//create a fileinfo object of an excel file on the disk
FileInfo file = new FileInfo(Server.MapPath(""~/Content/input.xlsx"));
//create a new Excel package from the file
using (ExcelPackage package = new ExcelPackage(file))
{
//create an instance of the the first sheet in the loaded file
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
//Add programmatic picture
worksheet.Drawings
.AddPicture("logo", new FileInfo(Server.MapPath("~/Content/logo.png")))
.SetPosition(5, 0, 5, 0);
//get the new size in byte array
byte[] output = package.GetAsByteArray();
}