添加图像后出现EPPlus错误,Value不能为null,参数名称:contentType

时间:2012-12-11 11:56:48

标签: c# excel epplus

我使用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();

1 个答案:

答案 0 :(得分:1)

一切都是正确的,但是当一个方法返回工作表时(在我的情况下是createPackingListExcel),会发生这个神秘的错误。

因此,我不是返回工作表,而是将包发送到函数作为参数,并将工作表添加到函数createPackingListExcel中的包中,然后错误消失。有意思......