DataTable导出EXCEL,本地可以,发布到服务器不行

问题描述

不知道什么原因publicstaticvoidCreateExcel(HttpContextcontext,DataTabledt,stringFileName){HttpResponseResponse=context.Response;Response.Clear();Response.Charset="UTF-8";Response.Buffer=true;Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");Response.AppendHeader("Content-Disposition","attachment;filename=""+System.Web.HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8)+".xls"");//处理。。。Response.ContentType="application/ms-excel";Response.Output.Write(ls_item);ls_item=string.Empty;Response.Output.Flush();Response.End();提示提示无法下载,与服务器连接被重置试过关闭防火墙,也不行,何解?大哥们帮忙

解决方案

解决方案二:
本地win7iis7.5服务器2008r2iis7.5
解决方案三:
ls_item是什么东东?你在“本地”肯定没有测试过多用户同时访问的情形吧?!
解决方案四:
1、服务器上是不是没有安装excel软件?2、IIS上发布的引用程序是否只有浏览的权限?开放写的权限
解决方案五:
publicstaticvoidCreateExcel(HttpContextcontext,DataTabledt,stringFileName){HttpResponseResponse=context.Response;Response.Clear();Response.Charset="UTF-8";Response.Buffer=true;Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");Response.AppendHeader("Content-Disposition","attachment;filename=""+System.Web.HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8)+".xls"");Response.ContentType="application/ms-excel";stringcolHeaders=string.Empty;stringls_item=string.Empty;//定义表对象与行对象,同时用DataSet对其值进行初始化DataRow[]myRow=dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的inti=0;intcl=dt.Columns.Count;//取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符for(i=0;i<cl;i++){if(i==(cl-1))//最后一列,加n{colHeaders+=dt.Columns[i].Caption.ToString()+"n";}else{colHeaders+=dt.Columns[i].Caption.ToString()+"t";}}Response.Output.Write(colHeaders);//向HTTP输出流中写入取得的数据信息//逐行处理数据foreach(DataRowrowinmyRow){//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据for(i=0;i<cl;i++){if(i==(cl-1))//最后一列,加n{ls_item+=row[i].ToString()+"n";}else{ls_item+=row[i].ToString()+"t";}}Response.Output.Write(ls_item);ls_item=string.Empty;}Response.Output.Flush();Response.End();}
解决方案六:
这是那个方法这服务器就我一个人在用,还没发布装了office,但我没引用它的dll啊usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Data;就这几个
解决方案七:
大哥们帮忙,真心急呀,开始以为是防火墙设置阻止写到客户端,可关了也没用呀是否哪设置的问题,不让下载excel啥的?mime看过了,有xls啊
解决方案八:
引用5楼E_wKKAZLMN的回复:

这是那个方法这服务器就我一个人在用,还没发布装了office,但我没引用它的dll啊usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Data;就这几个

你的服务器端用不着Office。你的程序跟Office无关,不过就是输出网页,然后保存时把文本文件名乱写成.xls后缀的,好让客户端的Excel去转换。你把"attachment;filename=""+System.Web.HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8)+".xls"");改成"attachment;filename=""+System.Web.HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8)+".c"");是不是就认为跟excel毫无关系而变成c#源代码了?可见你的这个程序根本跟excel没有直接关系。另外这里也不需要为filename前后加上双引号。加上反而可能是错的。
解决方案九:
如果你不能跟踪ls_item,那么这可能解决不了。重新从网上找一段与ls_item无关的代码超过来吧。
解决方案十:
擦,你会不会撒自行解决了
解决方案十一:
asp.net导出Excel文档示例privatevoidExport(stringFileType,stringFileName){Response.Charset="GB2312";Response.ContentEncoding=System.Text.Encoding.UTF7;Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());Response.ContentType=FileType;this.EnableViewState=false;StringWritertw=newStringWriter();HtmlTextWriterhw=newHtmlTextWriter(tw);GridView1.RenderControl(hw);Response.Write(tw.ToString());Response.End();}

时间: 2024-10-28 06:11:09

DataTable导出EXCEL,本地可以,发布到服务器不行的相关文章

asp.net DataTable导出Excel自定义列名的方法_实用技巧

1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如下: using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration;

求助:请教一个DataTable导出excel的难题

问题描述 在用winform将DataTable导出excel文件时,遇到一个难题,请教大家帮看看怎么回事:窗体Shown的事件中调用AutoExecute是正常的,生成了excel文件.但是此时再点击窗体上的按钮button调用AutoExecute()方法,代码执行到了这地方:_Workbookwbk=wbook.Add(Missing.Value);就没反应了,没报错.[DllImport("User32.dll",CharSet=CharSet.Auto)]publicstat

方法-求大神,用javascript导出Excel后,怎么用JS对某些单元格设置计算函数?

问题描述 求大神,用javascript导出Excel后,怎么用JS对某些单元格设置计算函数? 求大神,用javascript导出Excel后,要对某些单元格设置计算函数, 但是JS方法里面该怎么写语句能具体设置到指定单元格的计算函数? 求大神解答,谢谢 函数比如=AVERAGE(A9: D17)*E1+50 解决方案 .value="=函数" 解决方案二: js没法直接导出excel,需要提交到服务器,用vba poi一类的库产生excel 解决方案三: js不能caozuoexce

visual studio-导出excel表 只能导出到服务器而本地缺没有,如何把excel导出到本地,详细过程 谢谢!

问题描述 导出excel表 只能导出到服务器而本地缺没有,如何把excel导出到本地,详细过程 谢谢! 用VS2013编写的.net程序,做好了一个导出按钮,需要的功能是把一个table表的内容导入到excel表中并按照一定的路径导出来,但是每次点击导出的时候总是导入到的是服务器的所属路径,本地路径却没有,如何做才能导出到本地路径呢?求大神指点. 解决方案 先导出到服务器上,然后再让客户端下载. 解决方案二: http://www.cnblogs.com/weixing/archive/2012

java-【急,在线等】Java使用POI导出Excel,服务器部署后超过50行报错!

问题描述 [急,在线等]Java使用POI导出Excel,服务器部署后超过50行报错! Java使用POI导出Excel,服务器部署后超过50行报错,但本地调试无异常!具体错误信息如下: 10:13:44,761 ERROR org.apache.struts2.dispatcher.StreamResult StreamResultX : Can not find a java.io.InputStream with the name [excelStream] in the invocati

asp.net-ASP.NET 如何快速从DataTable导出10w条以上数据到Excel?

问题描述 ASP.NET 如何快速从DataTable导出10w条以上数据到Excel? 有一个Excel模板,90多列,导出数据到模板的一个worksheet中,请问如何做? 解决方案 怎么样也快不了.你试试光是往有模板的页面中插入10w条数据要多久.没格式还可以用csv纯文本输出. 解决方案二: 有什么方法可以解决?不求快,先前我用openxml五万以下可以实现,以上就不行了. 解决方案三: 估计这实现不了,程序始终会崩溃的.worksheet的行数最多65536行.10万行早把那个shee

代码-Jsp页面中查询到MySQL数据库里的表格信息,怎样导出到本地excel

问题描述 Jsp页面中查询到MySQL数据库里的表格信息,怎样导出到本地excel jsp页面从数据库中读出了一个message表格,怎样通过jsp编写把这个表格导出到excel.最好是详细代码 解决方案 response.reset(); response.setContentType("application/vnd.ms-excel;charset=GBK"); response.setHeader("Content-Disposition", "i

Asp.net中DataTable导出到Excel的方法介绍_实用技巧

复制代码 代码如下: #region  DataTable导出到Excel        /// <summary>        /// DataTable导出到Excel        /// </summary>        /// <param name="pData">DataTable</param>        /// <param name="pFileName">导出文件名</p

从服务器将Oracle数据库导出到本地Oracle数据库的方法

原文:从服务器将Oracle数据库导出到本地Oracle数据库的方法  1.将服务器上的Oracle数据库导入到本地    在CMD模式下执行以下命令:   exp username1/password@服务器端数据库 file=本地硬盘:/文件名.dmp   例如: exp admin/123123@DB file=e:db.dmp 2.建立本地数据库(默认已经安装Oracle客户端并且建立了本地数据库) 3.创建一个新用户,并赋予DBA权限  //创建一个用户名为test,口令(密码)为12