zoukankan      html  css  js  c++  java
  • [转载]gridview导出excel(不会有乱码)

    gridview导出excel(不会有乱码)
    2008-04-08 09:40

    之前我有贴过gridview导出excel的代码,但那个有两上缺点,一:如果gridview有分页的话,那段代码只是导出的当前页的数据,第二页之后的数据是无法导出的。二:那段代码我朋友帮我改进后,可以导出所有页的数据,但是我现在再用导出的中文全是乱码。现在我贴的这个,可以避免上面的两个问题。希望对大家有所帮助。

        protected void lbtnExport_Click(object sender, EventArgs e)
        {
            Response.Clear();
            Page.Response.Buffer = true;
            Response.Charset = "gb2312";
            string strFileName = "FileName.xls";
            Response.AddHeader("content-disposition", "attachment;filename="+HttpUtility.UrlEncode(strFileName,System.Text.Encoding.UTF8));
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            Response.ContentType = "application/ms-excel";
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();


            DataView dv = (DataView)Session["ds"];
            string xls = @"<Table><TR>";
            int i;
            int j;
            //导出EXCEL显示的标题
            for (i = 1; i < dv.Table.Columns.Count; i++)
            {
                xls += @"<TD>" + gvAnalyze.Columns[i].ToString() + @"</TD>";   //dv.Table.Columns[i].Caption

            }
            //数据部分
            xls = xls + @"</TR>";
            for (i = 0; i < dv.Table.Rows.Count; i++)
            {
                xls = xls + @"<TR>";
                for (j = 0; j < dv.Table.Columns.Count; j++)
                {
                    xls = xls + @"<TD>" + dv.Table.Rows[i][j].ToString() + @"</TD>";
                }
                xls = xls + @"</TR>";
            }
            xls = xls + @"</Table>";
            Response.Write(xls);
            Response.End();
            Binding();
        }

    其中的session["dv"]我在数据绑定方法(即Binding)中给它赋过值了,所以使用的朋友,可以根本自己的要求灵活运用。

  • 相关阅读:
    使用AudioRecord录音
    使用MediaRecorder录音
    程序员不应迷失方向
    鼠标移入下划线展开 CSS3伪类
    横向滚动条,鼠标按下左右滚动!
    js遍历数组的几种方法
    前端随心记---------nodejs工具nvm.nrm.nodemen
    前端随心记-----------面试题分享
    鹅厂前端面试小题
    前端随心记-------浅谈Axios
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/1427017.html
Copyright © 2011-2022 走看看