一个按扭事件执行下面的代码从dataset中导出到excel.同页面的另一个按扭要触发服务器,触发不了,系统生成的javascript脚本有问题,希望高手指点。但该页面刷新后可以点击另一个按纽,刷新事件该写到哪里,也希望高手指点。
private   void   WriteDataToExcel(DataSet ds,string   typeid,string   FileName)   
{     
HttpResponse resp;
resp   =  System.Web.HttpContext.Current.Response;
resp.Clear();
resp.ContentEncoding   =   System.Text.Encoding.GetEncoding("GB2312");   
resp.AppendHeader("Content-Disposition",   "attachment;filename="   +   FileName+".xls");  
string   colHeaders=   "",   ls_item="";   
int   i=0;       
//定义表对象与行对像,同时用DataSet对其值进行初始化   
DataTable   dt=ds.Tables[0];   
DataRow[]   myRow=dt.Select(""); 
//取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符   
for(i=0;i<dt.Columns.Count-1;i++)   
colHeaders+=dt.Columns[i].Caption.ToString()+"\t";   
colHeaders   +=dt.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=""; 
}
 System.IO.File.Delete(FileName+".xls");//删除临时文件
//写缓冲区中的数据到HTTP头文件中   
resp.End();