MVC前台table导出excel

来源:互联网 发布:centos smplayer 编辑:程序博客网 时间:2024/06/05 16:58

前台table View接收table的内容

@model System.Data.DataTable

@using (Html.BeginForm("DownloadExcel", "CPK", FormMethod.Post, new { enctype = "multipart/form-data" }))

{

 <table>

<tr>

<td>

 自己表格内容

</td>

</tr>

</table>

 <p  >
        <input type="submit" value="Download" id="btDownload" iconcls="icon-print" style="width:100px;height:40px; background:#0094ff;font-weight:bold"  />
    </p> 

}

<div>

 @Html.ActionLink("Back to SearchView", "Search")

</div>

 后台controller //自己新建的表格内容

public actionresult  table{

    DataTable dt = new DataTable("Data");

     DataRow dr = dt.NewRow();
     dr[colSN] = sn;dr[name]="huang";

    dt.Rows.Add(dr);

Session["DataTable"] = dt;//先把自己的表格内容放到一个虚拟内存中

return view(dt);

}

点击Download按钮执行Controller方法

 [HttpPost]

 public ActionResult DownloadExcel()
        {        
            DataTable dt = (DataTable)Session["DataTable"];
            GridView gv = new GridView();
            gv.DataSource = dt; gv.DataBind();
            ExcelOut(gv);
            return View();
        }       
        public void ExcelOut(GridView gv)//改方法执行后直接下载,不可再返回页面
        {
            if (gv.Rows.Count > 0)
            {
                System.Text.Encoding big5 = System.Text.Encoding.GetEncoding("big5");
                Response.Clear();
                Response.ClearContent();
                Response.Charset = "big5";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("big5");
                Response.AddHeader("Content-Disposition", "attachment; filename=Detail" + DateTime.Now.ToString("_yyyyMMdd") + ".xls");
                Response.ContentEncoding = big5;
                Response.ContentType = "application/ms-excel";
                System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
                StringWriter sw = new StringWriter(myCItrad);
                HtmlTextWriter htw = new HtmlTextWriter(sw);
                gv.RenderControl(htw);
                Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=big5\">");
                Response.Write(sw.ToString());
                Response.Flush();
                Response.End();
            }
            else
            {
                Response.Write("No data");
            }

        }




阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 油嘴 喷油嘴多久清洗 清洗喷油嘴多少钱 喷油嘴多久清洗一次 汽车喷油嘴多久洗一次 喷油嘴清洗机 喷油嘴清洗步骤图解 清洗喷油嘴有必要吗 喷油嘴洗一次多少钱 喷油嘴清洗多少钱 喷油嘴清洗剂 喷油嘴清洗价格 喷油嘴检测仪 缸内直喷喷油嘴正规清洗方法 汽车喷油嘴价格 喷油嘴多少钱 清洗喷油嘴节气门多少钱 发动机喷油嘴 清洗喷油嘴价格 液压油嘴接头 摩托车喷油嘴 柴油车喷油嘴价格 柴油电喷油嘴校一个多少钱 洗喷油嘴多少钱 链上油坊 油坊桥 油坊 老油坊 千万别开榨油坊 开榨油坊的风险在哪里 油城茶座 胜利社区油城茶座 油城信息港 胜利油田油城茶座 油城 克拉玛依油城信息网 大庆油城棋牌 克拉玛依油城供求信息 胜利生活社区油城茶座 油墨怎么洗 油墨的危害