资源描述:
《asp生成excel文件方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ASP生成Excel文件方法方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载优点:1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,再次给客户下载的时候不需要重复生成文件。3、csv文件是文本文件,逗号隔开字段,回车隔开行,易于数据导入导出。实现方法:SqlConnectionconn=newSqlConnection(System.Configuration.C
2、onfigurationSettings.AppSettings["conn"]);SqlDataAdapterda=newSqlDataAdapter("select*fromtb1",conn);DataSetds=newDataSet();da.Fill(ds,"table1");DataTabledt=ds.Tables["table1"];stringname=System.Configuration.ConfigurationSettings.AppSettings["download
3、url"].ToString()+DateTime.Today.ToString("yyyyMMdd")+newRandom(DateTime.Now.Millisecond).Next(10000).ToString()+".csv";//存放到web.config中downloadurl指定的路径,文件格式为当前日期+4位随机数FileStreamfs=newFileStream(name,FileMode.Create,FileAccess.Write);StreamWritersw=new
4、StreamWriter(fs,System.Text.Encoding.GetEncoding("gb2312"));sw.WriteLine("自动编号,姓名,年龄");foreach(DataRowdrindt.Rows){sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);}sw.Close();Response.AddHeader("Content-Disposition","attachment;filename="+Server
5、.UrlEncode(name));Response.ContentType="application/ms-excel";//指定返回的是一个不能被客户端读取的流,必须被下载Response.WriteFile(name);//把文件流发送到客户端Response.End();方法二:导出到csv文件,不存放到服务器,直接给浏览器输出文件流优点:1、随时生成,不需要占用资源2、可以结合身份认证3、同样利于数据交换实现方法:SqlConnectionconn=newSqlConnection(Sy
6、stem.Configuration.ConfigurationSettings.AppSettings["conn"]);SqlDataAdapterda=newSqlDataAdapter("select*fromtb1",conn);DataSetds=newDataSet();da.Fill(ds,"table1");DataTabledt=ds.Tables["table1"];StringWritersw=newStringWriter();sw.WriteLine("自动编号,姓名,
7、年龄");foreach(DataRowdrindt.Rows){sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);}sw.Close();Response.AddHeader("Content-Disposition","attachment;filename=test.csv");Response.ContentType="application/ms-excel";Response.ContentEncoding=System.Tex
8、t.Encoding.GetEncoding("GB2312");Response.Write(sw);Response.End();对方法一,二补充一点,如果你希望导出的是xls文件分隔符用t就可以了,不要用逗号代码修改如下:sw.WriteLine("自动编号t姓名t年龄");foreach(DataRowdrindt.Rows){sw.WriteLine(dr["ID"]+"t"+dr["vName"]+"t"+dr["iAge"]);}另外,修改输出的文件扩展名为