C# 服务端导出单页excel
前端导出excel表格为因为浏览器不同,需是需要在在前端代码中进行服务器的相应设置,相对比较麻烦,故可考虑后端导出:
protected void Button1_Click(object sender, EventArgs e)
{
Response.AppendHeader("Content-Disposition", String.Format("attachment;filename={0}.xls", "Test"));//设置导出名称为Test
Response.ContentEncoding = Encoding.GetEncoding("utf-8");
Response.ContentType = "application/ms-excel";
RepeaterYear.EnableViewState = false;//需导出表格的控件
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);
RepeaterYear.RenderControl(oHtmlTextWriter);//内容control
Response.Write(oStringWriter.ToString());
Response.End();
}
上述导出不足:那么导出的只能是拿到源数据的样式,可能与前端的显示效果不同(若在前端对单元格进行过合并的话)。因此若需按前端样式导出表格,需要在前端处理,只是处理时一定要注意不同浏览器的兼容性,特别是IE浏览器。
*****有道无术,术尚可求;有术无道,止于术。*****

浙公网安备 33010602011771号