js 页面导出excel
来源:互联网 发布:linux 网络问题排查 编辑:程序博客网 时间:2024/05/18 20:04
这里实现的是一个js页面,点击导出按钮,导出Excel,此时
谷歌浏览器会自动下载,火狐会弹出来一个文件选择路径让你选,这些事浏览器自己的插件,就不用管了。
初步自己的理解:
这个按钮的点击 发送一个请求路径给后台
后台拦截到进行处理
处理过程中产生了一个Excel文件,
设置好response的一些配置,将那个文件放进去,
响应到前台js,浏览器自动解析发现有要下载的文件,就会自己下载了,无论是弹出框还是马上下载,这些是浏览器的问题了。
好了 看代码
js代码
<input type="button" class="button" value="导出" onclick= "exportExcel()">//生成按钮
<script type="text/javascript">//发送请求function exportExcel(){window.location="<%=request.getContextPath()%>/partOfferPast/exportExcel";}</script>java后台controller
//导出excel@RequestMapping({"exportExcel"})@ResponseBodypublic void exportExcel(JqGridRequest req, HttpServletRequest request,HttpServletResponse response) {DataResponse<PartOfferPastCustom> list = this.getService().findAll(req);//获取表格内容try { HSSFWorkbook workbook = exportExcelServise.getExcel(list);//生成表格//定义输出流,以便打开保存对话框______________________begin OutputStream os = response.getOutputStream();// 取得输出流 response.reset();// 清空输出流 response.setHeader("Content-disposition", "attachment; filename="+ new String("报价履历.xls".getBytes("UTF-8"),"ISO8859-1"));// 设定输出文件头 response.setContentType("application/x-download");// 定义输出类型 //定义输出流,以便打开保存对话框_______________________endworkbook.write(os);os.close();} catch (Exception e) {e.printStackTrace();} } }生成excel的方法getExcel()
public HSSFWorkbook getExcel( DataResponse<PartOfferPastCustom> list) { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("部品报价履历一览表"); HSSFRow row = sheet.createRow((int) 0); sheet.setDefaultColumnWidth(10); // 创建单元格,并设置值表头 设置表头居中 HSSFCellStyle style = wb.createCellStyle(); // 居中格式、加粗 style.setAlignment(HSSFCellStyle.ALIGN_CENTER); org.apache.poi.hssf.usermodel.HSSFFont font = wb.createFont(); font.setFontHeightInPoints((short) 11); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); style.setBorderBottom((short) 1);// 下边框 style.setBorderLeft((short) 1);// 左边框 style.setBorderRight((short) 1);// 右边框 style.setBorderTop((short) 1);// 上边框 style.setLocked(true); style.setFont(font); //设置表内容格式 HSSFCellStyle style2 = wb.createCellStyle(); style2.setBorderBottom((short) 1);// 下边框 style2.setBorderLeft((short) 1);// 左边框 style2.setBorderRight((short) 1);// 右边框 style2.setBorderTop((short) 1);// 上边框 style2.setAlignment(HSSFCellStyle.ALIGN_CENTER); HSSFCell cell = row.createCell(0); cell.setCellValue("品番"); cell.setCellStyle(style); cell = row.createCell(1); cell.setCellValue("品名"); cell.setCellStyle(style); cell = row.createCell(2); cell.setCellValue("补给包装费"); cell.setCellStyle(style); cell = row.createCell(3); cell.setCellValue("单价"); cell.setCellStyle(style); cell = row.createCell(4); cell.setCellValue("报价日期"); cell.setCellStyle(style); cell = row.createCell(5); cell.setCellValue("备注"); cell.setCellStyle(style); DataResponse<PartOfferPastCustom> list3 = list; for (int i = 0; i < list3.size(); i++) { row = sheet.createRow((int) i + 1); // 创建单元格,并设置值 row.createCell(0).setCellValue(list3.get(i).getPartno()); row.createCell(1).setCellValue(list3.get(i).getPartname()); row.createCell(2).setCellValue(list3.get(i).getPackcost()); row.createCell(3).setCellValue(list3.get(i).getPrice()); row.createCell(4).setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(list3.get(i).getOfferdate())); row.createCell(5).setCellValue(list3.get(i).getRemark()); for(int j = 0;j < 5;j++){ row.getCell(j).setCellStyle(style2);} } return wb; }
这样就好了,js就会自己下载了。
0 0
- js 页面导出excel
- JS调用页面表格导出excel
- js 实现html 页面导出excel
- js导出页面表格数据到Excel
- js页面上的excel导出
- 纯js 解决页面table导出excel
- [JS]WEB页面导出为EXCEL文档的方法--转
- 用js导出页面中的table成Excel
- js将页面table导出excel,弹出保存对话框
- 用js导出页面table到excel表中
- 使用jquery.table2excel.js导出页面列表为excel表格
- 导出页面数据Excel
- jsp页面导出excel
- 页面导出EXCEL
- .NET页面导出Excel
- .NET页面导出Excel
- excel 页面兼容性导出
- 页面数据导出Excel
- VS 中 QT添加应用程序图标
- LeetCode 74 Search a 2D Matrix
- maven 打包可执行的jar
- error C3859: 超过了 PCH 的虚拟内存范围
- Manage Data in Containers
- js 页面导出excel
- SAP HANA DB 和SAP HANA studio version查看
- QT学习笔记
- 三种方式重复执行某个方法
- Jstorm与Storm中的并行度区分
- 《swift2.0 官方教程中文版》 第2章-16自动引用计数
- Hibernate学习笔记(一)
- iOS真机开机图片不显示
- App Transport Security has blocked a cleartext HTTP (http://)错误处理