数据导出到EXCEL中的问题--在线等待!
有一个WEB页面,上有两个DROPDOWNLIST控件和一个“导出到EXCEL”的按钮,之间是联动关系,即第二个DROPDOWNLIST中的内容随第一个DROPDOWNLIST选择的内容变化而变化.
本页面的功能是按照两个DROPDOWNLIST控件中的内容(即作为获取数据的条件)到数据库中找出满足条件的数据,然后用一下代码,导出到EXCEL中,
现在存在的问题是:未执行导出之前,第二个DROPDOWNLIST中的内容能随第一个DROPDOWNLIST选择的内容变化而变化;执行导出后,第二个DROPDOWNLIST中的内容不能随第一个DROPDOWNLIST选择的内容变化而变化.请教是什么原因?
HttpResponse resp;
resp = page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
// 指定返回的是一个不能被客户端读取的流,必须被下载
resp.ContentType = "application/ms-excel";
string colHeaders= "", ls_item="";
int i=0;
DataRow[] myRow=dataTable.Select("");
for(i=0;i<dataTable.Columns.Count-1;i++)
{
colHeaders+=dataTable.Columns[i].Caption.ToString()+"\t";
}
colHeaders +=dataTable.Columns[i].Caption.ToString() +"\n";
//向HTTP输出流中写入取得的数据信息(表头信息)
resp.Write(colHeaders);
//逐行处理数据
foreach(DataRow row in myRow)
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for(i=0;i<row.Table.Columns.Count-1;i++)
ls_item +=row[i].ToString() + "\t";
ls_item += row[i].ToString() +"\n";
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item="";
}
resp.End();