一聚教程网:一个值得你收藏的教程网站

热门教程

datagrid数据导出到excel文件给客户端下载的几种方法

时间:2022-07-02 11:30:41 编辑:袖梨 来源:一聚教程网

方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载
优点:
1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。
2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,再次给客户下载的时候不需要重复生成文件。
3、csv文件是文本文件,逗号隔开字段,回车隔开行,易于数据导入导出。
实现方法:
     SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
     SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
     DataSet ds=new DataSet();
     da.Fill(ds,"table1");
     DataTable dt=ds.Tables["table1"];
     string name=System.Configuration.ConfigurationSettings.AppSettings["downloadurl"].ToString()+DateTime.Today.ToString("yyyyMMdd")+new Random(DateTime.Now.Millisecond).Next(10000).ToString()+".csv";//存放到web.config中downloadurl指定的路径,文件格式为当前日期+4位随机数
     FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write);
     StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("gb2312"));
     sw.WriteLine("自动编号,姓名,年龄");
     foreach(DataRow dr in dt.Rows)
     {
    sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);
     }

热门栏目