读书人

Execl导出有有关问题

发布时间: 2012-12-14 10:33:08 作者: rapoo

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();
}
[解决办法]
这是代码 麻烦你帮我看看 真是搞不明白为什么到底问题出在那了?

读书人网 >Web Service

热点推荐