ajax + servlet + poi 导出Excel
来源:互联网 发布:世界未解之谜 知乎 编辑:程序博客网 时间:2024/06/01 10:57
js代码
$(document).ready(function(){$("#btn_export").click(function(){var area = $("#s-area option:selected").text();/ar b_s_num = $("#b_s_num option:selected").text();var bill_state = $("#bill_state option:selected").text();var remarks = $("#remarks option:selected").text();window.location.href="ExportConfirmBill";/*$.ajax({url:'ExportConfirmBill',type:'post',data:{'area':area,'bill_state':bill_state,'remarks':remarks},success:function(data){window.open('ExportConfirmBill');}})*/})});
后端servlet代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.setContentType("octets/stream");List<String> columns = new ArrayList<String>();List<Object> confirm_bill_lst = new ArrayList<Object>();String excelName = "账单信息";response.addHeader("Content-Disposition","attachment;filename=" + new String(excelName.getBytes("gb2312"), "ISO8859-1") + ".xls");ServletOutputStream out = response.getOutputStream();HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet();HSSFRow row1 = sheet.createRow(0);BillManage bm = new BillManageImpl();columns = bm.getColumns();for(int i=0;i<columns.size()-1;i++){HSSFCell cell =row1.createCell(i);cell.setCellValue(columns.get(i+1));}String area = request.getParameter("area");String bill_state = request.getParameter("bill_state");String remarks = request.getParameter("remarks");System.out.println(bill_state);confirm_bill_lst = bm.exportConfirmBill(area, bill_state, remarks);for(int i=0;i<confirm_bill_lst.size();i++){List<Object> lst =(List<Object>) confirm_bill_lst.get(i);HSSFRow row = sheet.createRow(i+1);for(int j=0;j<lst.size();j++){Cell cell = row.createCell(j);if(lst.get(j)==null){cell.setCellValue("");}else{cell.setCellValue(String.valueOf(lst.get(j)));}}}wb.write(out);out.close();wb.close();}第一次,采用ajax的方式,发送请求并传递相应的参数时,后台获取了的数据并且利用POI接口类将数据填充到Excel,但是前台客户端并没有出现下载提示的窗口,导出Excel失败。
第二次,采用提交表单的方式,直接请求,导出成功。
经过百度,才知道
ajax返回的类型只有xml、text、json、HTML等类型,没有流类型,因此不会弹出下载提示框。
阅读全文
0 0
- ajax + servlet + poi 导出Excel
- POI实现Servlet导出Excel
- jsp(servlet)使用poi导出excel数据文件
- ajax不可以用来做poi的浏览器导出excel,可以用springMvc、strust2和servlet
- Excel POI导出excel
- 使用servlet和poi从服务器导出excel
- 关于POI导出到Excel表格中(servlet中)
- POI-----POI导出Excel实例
- jsp导出excel poi
- POI导出EXCEL
- poi导出Excel
- poi导出excel
- POI 导出excel
- POI 导出excel
- POI 实现导出Excel
- java poi 导出excel
- poi 方式导出excel
- POI 导出Excel
- Redis总结
- Kotlin安装配置与入门
- c++远征之继承篇——隐藏,isa,虚析构函数
- 分页pojo
- iOS开发 弱网环境模拟(真机)
- ajax + servlet + poi 导出Excel
- 排序与查找(一): 二分查找
- Android中applicationid和包名的区别
- 根据id查询前一篇后一篇
- Android学习路之tablelayout
- Jquery实现checkbox单选
- html5 meta常用标签
- 如何在MAC上打出emoji表情?
- MongoDB 的Rollback讲解及避免