我这里用到了一个强大的类库http://www.soaspx.com/dotnet/asp.net/tech/tech_20130124_10051.html
里面导出excel也就一行代码
MyHelper4Web.MyExcelHelper.DataSetToExcel(ds, @"路径+名字.xls");
这个不好的是 保存的路径是指定的,如果想实现下载选择路径就需要
DataSet ds = bll.Get("");
//获取当前本机路径 string path = Request.PhysicalApplicationPath; //先保存的路径 string time = DateTime.Now.ToString("yyyy-MM-dd"); MyHelper4Web.MyExcelHelper.DataSetToExcel(ds, path + "/Excel/" + id + "-" + time + ".xls"); path = path + "/Excel/" + id + "-" + time + ".xls"; FileInfo fileInfo = new FileInfo(path); Response.Clear(); Response.ClearContent(); Response.ClearHeaders();
//这个是下载的文件夹名字 Response.AddHeader("Content-Disposition", "attachment;filename=" + id + "_:" + time + ".xls"); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.AddHeader("Content-Transfer-Encoding", "binary"); Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
//要找到文件的路径 Response.WriteFile(fileInfo.FullName); Response.Flush(); //把保存在服务器上的删除 System.IO.File.Delete(path); Response.End();
下载也就是先让excel保存在服务器上的一个文件夹中,再调用下载方法,下载本地,最后再删除服务器上的文件