首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

Execl导出有有关问题

2012-12-14 
Execl导出有问题为什么我的Execl导出的时候数据量大的时候没有问题挺正常的 但是导出一条数据的时候下载下

Execl导出有问题
为什么我的Execl导出的时候数据量大的时候没有问题挺正常的 但是导出一条数据的时候下载下来却是 .aspx后缀的页面

这是怎么回事啊?
[解决办法]
把你的到处代码贴出来或者参看http://blog.ahnw.gov.cn/user1/apeng/archives/2006/10.html
[解决办法]
 Response.Clear();
            Response.Buffer = true;
            Response.Charset = "gb2312";// "UTF-8";//"GB2312";
            Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
            this.Page.EnableViewState = false;
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            Response.ContentType = "application/vnd.ms-excel";//设置输出文件类型为excel文件。 

            #region 添加表头和数据
            string colHeaders = "", ls_item = "";

            DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的

            colHeaders += "用户登录名" + "\t";
            colHeaders += "姓名" + "\t";
            colHeaders += "单位名称" + "\t";
            colHeaders += "级别" + "\t";
            colHeaders += "手机" + "\t";
            colHeaders += "电话" + "\t";
            colHeaders += "联系QQ" + "\n";

            string bodyData = ExportTable(colHeaders, dt);
            Response.Write(bodyData);

            Response.End();




 public static string ExportTable(string colHeaders, DataTable dt)
        {
            StringBuilder sb = new StringBuilder();
            int count = 0;

            sb.AppendLine("<meta http-equiv="Content-Type" content="text/html; charset=gb2312">");
            sb.AppendLine("<table cellspacing="0" cellpadding="5" rules="all" border="1">");
            ////写出列名 
            sb.AppendLine("<tr style="font-weight: bold; white-space: nowrap;">");
            foreach (string aStr in colHeaders.Split('\t'))


            {
                sb.AppendLine("<td>" + aStr + "</td>");
            }
            sb.AppendLine("</tr>");


            //写出数据 
            foreach (DataRow row in dt.Rows)
            {
                sb.Append("<tr>");
                sb.Append("<td style="vnd.ms-excel.numberformat:@">" + row["LoginId"].ToString() + "</td>");
                sb.Append("<td style="vnd.ms-excel.numberformat:@">" + row["UserName"].ToString() + "</td>");
                sb.Append("<td style="vnd.ms-excel.numberformat:@">" + row["UnitName"].ToString() + "</td>");
                sb.Append("<td style="vnd.ms-excel.numberformat:@">" + row["GradeName"].ToString() + "</td>");
                sb.Append("<td style="vnd.ms-excel.numberformat:@">" + row["Mobile"].ToString() + "</td>");
                sb.Append("<td style="vnd.ms-excel.numberformat:@">" + row["Phone"].ToString() + "</td>");
                sb.Append("<td style="vnd.ms-excel.numberformat:@">" + row["QQ"].ToString() + "</td>");
                sb.Append("</td>");
                sb.AppendLine("</tr>");
                count++;
            }
            sb.AppendLine("</table>");

            return sb.ToString();
        }
[解决办法]
这是代码 麻烦你帮我看看  真是搞不明白为什么到底问题出在那了?

热点排行