利用jQuery npoi插件 asxh一般处理文件实现excel的下载

Posted by

最近开发的过程中遇到这么一个问题,利用ajax和ashx文件实现下载功能。发现代码调试走完之后并没有弹出下载框。

最近开发的过程中遇到这么一个问题,利用ajax和ashx文件实现下载功能。发现代码调试走完之后并没有弹出下载框。

研究了一段时间之后发现解决这种问题有两种方法,1.ajax获取数据集在前台做处理实现导出(个人不大喜欢这样有兴趣自行度娘)。2.既然都请求服务端了那就服务端搞定这件事。

研究了一段时间之后发现解决这种问题有两种方法,1.ajax获取数据集在前台做处理实现导出(个人不大喜欢这样有兴趣自行度娘)。2.既然都请求服务端了那就服务端搞定这件事。

下面说一下第二种方法:这种方法的实质上没有使用ajax的方式。

下面说一下第二种方法:这种方法的实质上没有使用ajax的方式。

先说一下一般处理文件的写法

先说一下一般处理文件的写法

public class DownLoadExcel : IHttpHandler {        public void ProcessRequest (HttpContext context) {        context.Response.ContentType = "application/vnd.ms-excel";        context.Response.ContentEncoding = Encoding.UTF8;        context.Response.Charset = "";        context.Response.AppendHeader("Content-Disposition",            "attachment;filename=" + HttpUtility.UrlEncode("测试", Encoding.UTF8));            //excel中插入数据            HSSFWorkbook workbook = new HSSFWorkbook();             Sheet sheet = workbook.CreateSheet("excel标签名称");             Row rowHeader = sheet.CreateRow(0);//设置表头             rowHeader.CreateCell(0).SetCellValue("第一列");             Row rowData= sheet.CreateRow(1);//插入一行数据             rowData.CreateCell(0).SetCellValue("值");                         workbook.Write(context.Response.OutputStream);            workbook.Dispose();    }     public bool IsReusable {        get {            return false;        }    }
public class DownLoadExcel : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "application/vnd.ms-excel";
        context.Response.ContentEncoding = Encoding.UTF8;
        context.Response.Charset = "";
        context.Response.AppendHeader("Content-Disposition",
            "attachment;filename=" + HttpUtility.UrlEncode("测试", Encoding.UTF8));
            //excel中插入数据
            HSSFWorkbook workbook = new HSSFWorkbook();
             Sheet sheet = workbook.CreateSheet("excel标签名称");
             Row rowHeader = sheet.CreateRow(0);//设置表头
             rowHeader.CreateCell(0).SetCellValue("第一列");
             Row rowData= sheet.CreateRow(1);//插入一行数据
             rowData.CreateCell(0).SetCellValue("值");

            workbook.Write(context.Response.OutputStream);
            workbook.Dispose();
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

1.利用<a></a>标签

 

<a href=”test.ashx”></a>

1.利用<a></a>标签

这种方法不方便传入参数。

<a href=”test.ashx”></a>

相关文章

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注