导出Excel

本文介绍了使用AJAX和Java实现的数据导出功能,通过POST请求获取数据,并将其转换为Excel格式进行导出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function exe(){
 $.ajax({
        type:'post',
        url:m_strContextPath+'action?searchHelperAction=2',
        dataType:'text',
        contentType :"application/x-www-form-urlencoded; charset=UTF-8",
        async:false,
        success:function(d,s){
          if(d=='0'){
           alert("数据为空,不能导出。");
          }else {
           var  url_x = m_strContextPath+'action?searchHelperAction=3';
           window.location.href = url_x;
           return;
          }
          }
        });
}

 

public String excel(HttpContext arg0, IContextDictionary arg1){
      HttpServletResponse response = arg0.getResponse();
      OutputStream os = response.getOutputStream();// 取得输出流  
               response.reset();// 清空输出流  
               response.setHeader("Content-disposition", "attachment; filename="+new String("XXXX".getBytes("GB2312"),"8859_1")+".xls");// 设定输出文件头  
               response.setContentType("application/msexcel");// 定义输出类型             
            
      //File excelFile = new File(filePath);
      // 文件格式
      WritableCellFormat format = new WritableCellFormat();
      // x  靠左
      format.setAlignment(Alignment.RIGHT);
      // y 靠顶
      format.setVerticalAlignment(VerticalAlignment.TOP);
     
      // 创建一个工作文件
      WritableWorkbook writableWorkbook = Workbook.createWorkbook(os);
      // 创建一个工作簿
      WritableSheet sheet1 = writableWorkbook.createSheet("XXXXXXXX", 0);
      //创建行数 设置行的宽度
      sheet1.setColumnView(0, 20);
      sheet1.setColumnView(1, 20);
      // 设置行的值
      sheet1.addCell(new Label(0, 0, "XXXXX", format));
      sheet1.addCell(new Label(1, 0, "XXXXX", format));
    

      // 把集合写入到excel中
      int rowNum = 1;
     
      for (DataRow dr : dt.getRows())
      {
       int colspanNum = 0;
       sheet1.addCell(new Label(colspanNum, rowNum, dr.getString("XMQID"), format));
       sheet1.addCell(new Label(++colspanNum, rowNum, dr.getString("BLOCKID"), format));
       rowNum++;
      }
      writableWorkbook.write();
      writableWorkbook.close();
      return null;
      }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值