C#中导出excel文档

来源:互联网 发布:迪克斯特拉算法 编辑:程序博客网 时间:2024/06/06 15:04
private HttpContext Context = HttpContext.Current;

//数据导出
public string ExportData()
{

    Context.Response.ContentType = "application/vnd.ms-excel";    Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");    Context.Response.Charset = "UTF-8";    string fileName = "成绩明细表.xls";//导出的excel文档名称    if (Context.Request.ServerVariables["http_user_agent"].ToString().IndexOf("Firefox") != -1){        Context.Response.AppendHeader("Content-Disposition",                    "attachment;filename=" + fileName);    }else    {        Context.Response.AppendHeader("Content-Disposition",                  "attachment;filename=" + Context.Server.UrlEncode(fileName));    }    #region 产生DataGrid,并让浏览器当做EXCEL下载或者打开    System.IO.StringWriter strWriter = new System.IO.StringWriter();    System.Web.UI.HtmlTextWriter htmlWriter = new         System.Web.UI.HtmlTextWriter(strWriter);    DataGrid dgExport = new DataGrid();    dgExport.DataSource = ds.Tables[0];//ds数据源    dgExport.AllowPaging = false;    dgExport.ItemStyle.Wrap = true;    dgExport.HeaderStyle.Wrap = true;    dgExport.AutoGenerateColumns = false;    this.AddDataBindColumns(dgExport);//exccel文档表头绑定    dgExport.ItemDataBound += new    DataGridItemEventHandler(dgExport_ItemDataBound);//excel单元格数据处理    dgExport.DataBind();    dgExport.RenderControl(htmlWriter);    Context.Response.Clear();    Context.Response.Write("<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=UTF-8\"/>" + strWriter.ToString());    Context.Response.End();

}

private void AddDataBindColumns(DataGrid dgExport)
{

dgExport.Columns.Add(new BoundColumn() { DataField = "name", HeaderText = "学号" });dgExport.Columns.Add(new BoundColumn() { DataField = "id", HeaderText = "身份证号" });dgExport.Columns.Add(new BoundColumn() { DataField = "grade", HeaderText = "成绩" });foreach (BoundColumn column in dgExport.Columns){    column.ItemStyle.HorizontalAlign = HorizontalAlign.Center;    column.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;    column.HeaderStyle.Width = 200;}

}

//格式化单元格
void dgExport_ItemDataBound(object sender, DataGridItemEventArgs e)
{

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){    DataRowView drv = (DataRowView)e.Item.DataItem;    e.Item.Cells[0].Text = "=\"" + drv["id"].ToString() + "\"";//对单元格数据进行单独处理}

}

/页面处理/

<span><iframe id="frmExport" style="display: none"></iframe> <a href="#" onclick="ExportData()">导出</a></span>

/js处理/

$("#frmExport").attr("src", “后台访问路径”);
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新生儿四天没大便怎么办老放屁 新生儿四五天不大便怎么办 新生儿五天没解大便怎么办 婴儿五天没拉大便怎么办 宝宝45天不拉屎怎么办 儿童4天不大便怎么办 4一5天不大便怎么办 俩月的宝宝便秘怎么办 宝宝6天没大便怎么办 新生儿3天不大便怎么办 50天宝宝几天没有大便怎么办 宝宝一吃奶就拉怎么办 2个月宝宝不拉屎怎么办 吃苹果呛到气管怎么办 三个月宝宝五天没拉大便了怎么办 三个月的宝宝五天不大便怎么办 十天婴儿不大便怎么办 宝宝断奶不喝牛奶怎么办 宝宝喝羊奶大便干燥怎么办 4个月宝宝睡眠少怎么办 8个月婴儿不吃奶粉怎么办 满月的宝宝黄疸高怎么办 刚满月的宝宝黄疸高怎么办 换奶粉孩子不喝怎么办 宝宝整夜哭闹不睡觉怎么办 满月宝宝整夜不睡觉怎么办 6个半月宝宝一喂粥就哭怎么办 宝宝敷鸡蛋白过敏怎么办 七个月宝宝不吃米糊怎么办 涨奶引起的发烧怎么办 8个月宝宝积食怎么办 宝宝吃奶一会就睡了怎么办 宝宝喝凉酸奶拉肚子怎么办 宝宝戒奶不吃奶粉怎么办 三个月大婴儿不吃奶粉怎么办 三个月大的婴儿不吃奶粉怎么办 40天宝宝肚脐凸怎么办 6个月婴儿消化不好怎么办 2个月婴儿消化不好怎么办 10月婴儿不吃饭怎么办 9个月宝宝不吃饭怎么办