Asp.net导出Excel遇到极为棘手的事情,在公司的多台机器上测试都没有问题,可是部署到最终的服务器上遇到了这个问题:
ODBC--connection to 'SQL Server' isql_inter\prod failed
这个错误,技术人员实在解决不了这个问题,特向各位高手求救呀!帮忙,不然大伙课就惨了!
ODBC--connection to 'SQL Server' isql_inter\prod failed
这个错误,技术人员实在解决不了这个问题,特向各位高手求救呀!帮忙,不然大伙课就惨了!
解决方案 »
- SQL查询,where里面是否可以接页面参数
- 如何修改配置Web.config里节的值
- 为何突然间我的网页凡是有masterpager的,都取不到session的值,但其它的页面就没有问题,看这是怎么回事?
- 模式窗口提交数据
- ASP.NET 怎样做WAP手机登录的图片认证码
- 初学水晶报表,迷茫中,,急求各位指点,路过的进来帮下么
- 100分求助asp.net 批量输入功能
- SOS!SOS!各位朋友,快救救急啊,要我现在正在客户的公司进行WEB项目的调试,刚装好V.net,在。NET环境下进行调试系统报错如下!在线等
- 请问asp.net软件是不是在vs.net系列中?
- 请教:问题
- 求助:添加了母版的页面再应用CSS效果不能切换到视图状态??!
- 注释后也执行?来看一下
慢慢研究一下!
利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM等类型的文档很容易的。主要分为三步来完成。
一、定义文档类型、字符编码
Response.Clear();
Response.Buffer= true;
Response.Charset="utf-8";
//下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm
Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
//Response.ContentType指定文件类型 可以为application/ms-excel application/ms-word application/ms-txt application/ms-html 或其他浏览器可直接支持文档
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
private void ExportExcelFromDataGrid
( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )
{
Response.Clear();
Response.Buffer= true;
Response.Charset="utf-8";
Response.AppendHeader ("Content-Disposition","attachment;filename="+Server.UrlEncode ( filename ) );
Response.ContentEncoding=System.Text.Encoding.Default;//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad =
new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter =
new System.Web.UI.HtmlTextWriter(oStringWriter);
ToExcelGrid.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}