添加头信息,为"文件下载/另存为"对话框指定默认文件名.........................

来源:互联网 发布:重庆正大软件学院 编辑:程序博客网 时间:2024/06/07 03:31
string path= Server.MapPath(this.xlfile.Text+".xls");

    System.IO.FileInfo file
= new
System.IO.FileInfo(path);
    Response.Clear();
    Response.Charset
="GB2312"
;
    Response.ContentEncoding
=
System.Text.Encoding.UTF8;
   
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名

    Response.AddHeader("Content-Disposition","attachment; filename="+
Server.UrlEncode(file.Name));
   
// 添加头信息,指定文件大小,让浏览器能够显示下载进度

    Response.AddHeader("Content-Length"
, file.Length.ToString());
    
   
// 指定返回的是一个不能被客户端读取的流,必须被下载

    Response.ContentType= "application/ms-excel"
;
    
   
// 把文件流发送到客户端

    Response.WriteFile(file.FullName);
   
// 停止页面的执行

   
    Response.End();

经常要导出一些XLS文件,给财务下载,用NPOI,将DataTalbe 转换成xls,再添加页头下载。

自己写了个方法,要引用NPOI的命名空间哦。
using NPOI.SS.UserModel;//引用NPOI
using NPOI.HSSF.UserModel;


 public  void Import(DataTable dt, string filename)    {        //创建空白文档          IWorkbook  workbook = new HSSFWorkbook();        //创建标准三页          ISheet sheet1 = workbook.CreateSheet("sheet1");        ISheet sheet2 = workbook.CreateSheet("sheet2");        ISheet sheet3 = workbook.CreateSheet("sheet3");        IRow headrow = sheet1.CreateRow(0);//创建第一行          //将DataTable的列写入第一行          foreach (DataColumn column in dt.Columns)        {            //column.Oradinal,列的位置,column.ColumnName,列名              headrow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);//写入          }        //再写入记录值           IRow row;        for (int i = 0; i < dt.Rows.Count; i++)        {            row = sheet1.CreateRow(i + 1);            for (int j = 0; j < dt.Columns.Count; j++)            {                row.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());//dataTable和EXCEL差不多都是一个二维数组一样的.              }        }        string filename1 =  HttpContext.Current.Server.MapPath(filename);        using (FileStream file = new FileStream(filename1, FileMode.Create))        {            workbook.Write(file);//写入              file.Dispose();        }          } 



原创粉丝点击