日期:2014-05-19  浏览次数:20421 次

点击导出文件事件后整个系统无法使用
//点击事件
private   void   IBtnExport_Click(object   sender,   System.Web.UI.ImageClickEventArgs   e)
{
GDbSjCdcb   nDcb   =   new   GDbSjCdcb();
JExcel.ExportToExcel(nDcb.SelDataSetMxData(myUser.DwJb,myUser.DwDqId,myUser.DwId,LbDqid.Text,LbDateB.Text,LbDateE.Text,LbLrdw.Text,LbLrr.Text,LbBbn.Text), "dRecord ", "excel ", "downinfo.xls ",this);
}


//打印类
namespace   JGeneral
{
    public   class   JExcel
    {
        static   public   void   ExportToExcel(DataSet   ds,   string   strTableName,   string   typeid,   string   FileName,   Page   page)   //从给定的Dataset和tablename中导出
        {
            HttpResponse   resp;
            resp   =   page.Response;
            resp.ContentEncoding   =   System.Text.Encoding.GetEncoding( "GB2312 ");
            resp.AppendHeader( "Content-Disposition ",   "attachment;filename= "   +   FileName);
            string   colHeaders   =   " ",   ls_item   =   " ";
            int   i   =   0;

            //定义表对象与行对像,同时用DataSet对其值进行初始化  
            DataTable   dt   =   ds.Tables[0];
            DataRow[]   myRow   =   dt.Select( " ");
            //   typeid== "1 "时导出为EXCEL格式文件;typeid== "2 "时导出为XML格式文件  
            if   (typeid   ==   "excel ")
            {
                //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符  
                for   (i   =   0;   i   <   dt.Columns.Count   -   2;   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   <   dt.Columns.Count   -   2;   i++)
                        ls_item   +=   row[i].ToString()   +   "\t ";