0

我已经使用创建了一个 excel 文件EPPlus并且一切正常,直到我尝试将图像添加到我的工作表并收到错误消息

(值不能为空,参数名称: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();
4

1 回答 1

1

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

因此,我没有返回工作表,而是将我的包作为参数发送给函数,并让工作表添加到函数 createPackingListExcel 中的包中,然后错误就消失了。有趣的...

于 2012-12-12T07:44:50.687 回答