npoi做的excel导出,本地测试各种正常,服务器iis7.0运行报错(空指针) 30

废话不多说,直接上代码,求大神解救,已崩溃(我本地vs测试或者本地iis测试没有问题,只有拿到服务器上出现了报错)billview.aspx.cs//导出按钮protec... 废话不多说,直接上代码,求大神解救,已崩溃(我本地vs测试或者本地iis测试没有问题,只有拿到服务器上出现了报错)
billview.aspx.cs
//导出按钮
protected void exp_Click(object sender, EventArgs e)
{
BillEntity be = InitEntity();
MemoryStream ms = ExcelTool.getDataExcel(be);

ExcelTool.exportByWeb(ms,HttpContext.Current,"B单工作汇总");

}
//excelTool.cs
//获取数据,并封装为memoryStream(我确定查到了数据)
public static MemoryStream getDataExcel(BillEntity be){。。。}
//输出到浏览器
public static void exportByWeb(MemoryStream ms, HttpContext context, string fileName)
{

if (context.Request.Browser.Browser == "IE")
{
fileName = HttpUtility.UrlEncode(fileName);
context.Response.Clear();
context.Response.AddHeader("Content-Disposition", "attachment;fileName=" + fileName + ".xlsx");
context.Response.AddHeader("Content-Transfer-Encoding", "binary");
context.Response.ContentType = "application/vnd.ms-excel";
//解决提示发现不可读取内容的错误提示
context.Response.AddHeader("Content-Length", ms.ToArray().Length.ToString());
context.Response.BinaryWrite(ms.GetBuffer());
context.Response.End();
}

}
点击按钮出现的错误(但实际调试查询时,查询的数据是没有问题的(ms对象)),

还有可能出问题的就是HttpContext,调试过程发现了这个错误(错误信息:
context.currentnotfication 引发了 System.PlatformNotSupportedException)

网上查了一大堆,说IIs需要最低.net3.0和集成方式,这个我都满足了,权限什么的我也调了,所以真不知道为什么了
展开
 我来答
yuchixue
2015-03-27 · TA获得超过181个赞
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:214万
展开全部
请检查你的IIS X86还是X64,,,

如果你X86开发,但是你ISS没设置X86的支持,而是X64 那么肯定不行了。

反之也一样, X64开发,而IIS是X86的,那么也不行
追问
你好,非常感谢的您能回答我的问题,我用的win764位,服务器2008r264位,都是iis732位, 没存在您说的问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式