EPPlus:结合形状和程序化图片的错误

时间:2019-01-07 19:02:26

标签: epplus

问题:

当我以编程方式打开一个带有形状(例如箭头)的Excel文件时,然后如果我尝试获取字节({{1} })这个新的修改后的Excel文件会崩溃。

重现错误的步骤:

  1. 创建一个Excel文件(xlsx)并在其中添加形状(例如箭头)

  2. 使用此代码打开该文件并添加程序化图片

    GetAsByteArray

有什么想法或解决方法吗?

1 个答案:

答案 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();
}