1.导出到excel或word
protected void Button1_Click(object sender, EventArgs e)
{
Export("application/ms-excel", "daochu.xls");
//Export("application/ms-word", "daochu.doc");
}
public void Export(string FileType, string FileName)
{
Response.ClearContent();
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;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
GridView1.AllowPaging = false;
bind();
GridView1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
GridView1.AllowPaging = true;
bind();
}
public override void VerifyRenderingInServerForm(Control control)
{
}
2、 excel导出 一般用于ifram内输出html标签为excel
protected void ExportData(string strContent, string FileName)
{
FileName = FileName + DateTime.Now.ToString("yyyyMMddHHmmss");
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "gb2312";
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ".xls");
HttpContext.Current.Response.Write("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
HttpContext.Current.Response.Write("<style>table{border:2px;} </style>");
HttpContext.Current.Response.Write(strContent);
HttpContext.Current.Response.Write("</body></html>");
HttpContext.Current.Response.End();
}
ifram指向页table样式(网上找的 输出挺漂亮)
<style type="text/css">
table .tableClass
{
font-family: verdana,arial,sans-serif;
font-size: 11px;
color: #333333;
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
border:1px;
}
.tableClass table th
{
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #dedede;
border:1px;
}
.tableClass table td
{
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
border:1px;
}
</style>