// 清楚缓冲区流中内容
Response.Clear();
// 设为缓冲输出
Response.Buffer = true;
Response.Charset = "GB2312";
string strtime = Convert.ToString(DateTime.Now);
strtime = strtime.Substring(0, strtime.IndexOf(" "));
string str = string.Format("attachment;filename=/"" + System.Web.HttpUtility.UrlEncode("查漏摆-S0101", System.Text.Encoding.UTF8)
+ "({0}).xls", strtime);
Response.AppendHeader("Content-Disposition", str);
// 导出Excel格式,其中filename为Excel文件的名字,可根据要求定义
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
// 设置输出流为默认。注意:设置为简体中文utf8有时还好出错
Response.ContentEncoding = System.Text.Encoding.Default;
// 设置输出文件类型为excel文件。
Response.ContentType = "application/ms-excel";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.dgrdS0101.Caption = "查漏摆";
this.dgrdS0101.HeaderStyle.Font.Bold = true;
this.dgrdS0101.HeaderStyle.Font.Size = 12;
this.dgrdS0101.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
// 刷新设计器加载程序的挂起更改
Response.Flush();
Response.End();
特殊字符处理:如 000001到处到exceal时只显示为1,时间格式等
/// <summary>
/// 数据绑定时设置导出格式
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void dgrdS0101_RowDataBound(object sender, GridViewRowEventArgs e)
{
转化
//把isbn号转化为字符串
e.Row.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
//把金钱转化,人们币
e.Row.Cells[4].Attributes.Add("style", "vnd.ms-excel.numberformat:¥#,###.00");
}