gridview只包含当前页的数据,完整的数据在它的数据源中,也就是你的datatable中

解决方案 »

  1.   

    StringWriter sw = new StringWriter();    

    if(format)//xls
    sw.WriteLine("客户编号\t客户名称\t来店次数\...
    else//csv
    sw.WriteLine("客户编号,客户名称,来店次数,...DataTable dt = new DataTable();
    //取数据源

    foreach(DataRow dr in dt.Rows)     
    {
    if(format)//xls
    {
    sw.WriteLine(dr["TaNo"].ToString()+"\t"+dr["ccName"].ToString()+"\t"+dr["visitcount"].ToString()...
    }
    else//csv
    {
    sw.WriteLine(dr["TaNo"].ToString()+","+dr["ccName"].ToString()+","+dr["visitcount"].ToString()+","+...
    }
    }
         
    sw.Close();     
    this.Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode("协议客户列表")+(format?".xls":".csv"));
    this.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
    this.Response.ContentType = "application/ms-excel";
    this.Response.Write(sw);     
    this.Response.End();