我使用EPPlus
创建了一个excel文件,一切正常,直到我尝试将图像添加到工作表中并收到错误
(值不能为null,参数名称:contentType)
在以下行中:
package.Workbook.Worksheets.Add("MasterPackingList", createPackingListExcel(dt));
当删除下面的代码部分时,它可以正常工作
System.Drawing.Image logo = System.Drawing.Image.FromFile(Server.MapPath("~/Images/")+"PLLogo_Nestle.png");
var addedLogo = worksheet.Drawings.AddPicture("Logo", logo);
以下是我向用户提供excel的方法:
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=file.xlsx");
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.BinaryWrite(package.GetAsByteArray());
Response.End();
答案 0 :(得分:1)
一切都是正确的,但是当一个方法返回工作表时(在我的情况下是createPackingListExcel),会发生这个神秘的错误。
因此,我不是返回工作表,而是将包发送到函数作为参数,并将工作表添加到函数createPackingListExcel中的包中,然后错误消失。有意思......