Java处理数据导出功能
2017-02-23 11:41
176 查看
一:思路
前提:首先要获取要导出的数据列表(一般都是通过请求查询条件从数据库中获取数据);然后调用封装好的生成Excel文件方法,在业务层中渲染文件中的数据列表。
二:步骤
1.导入使用的 jxl.jar ;
在页面定义“导出”按钮,发送导出功能请求;
在控制层中,获取要导出的数据集,传入文件名,执行生成Excel文件方法;
2.渲染文件数据
在业务层中
前提:首先要获取要导出的数据列表(一般都是通过请求查询条件从数据库中获取数据);然后调用封装好的生成Excel文件方法,在业务层中渲染文件中的数据列表。
二:步骤
1.导入使用的 jxl.jar ;
在页面定义“导出”按钮,发送导出功能请求;
在控制层中,获取要导出的数据集,传入文件名,执行生成Excel文件方法;
@RequestMapping("/exportChkinm") @ResponseBody public boolean exportChkinm(HttpServletResponse response, HttpServletRequest request, HttpSession session, Chkinm chkinm, String checkOrNot, Page page, Date madedEnd) throws Exception{ //获取数据 List<Chkinm> chkinmList = chkinmService.findAllChkinm(checkOrNot, chkinm, page, madedEnd, session.getAttribute("locale").toString()); //文件名 String fileName = "已审核入库单汇总"; //执行方法 setExpArg(response, request, fileName); //返回文件 return chkinmService.exportRUChkinm(response.getOutputStream(), chkinmList); } //生成Excel文件方法 public void setExpArg(HttpServletResponse response,HttpServletRequest request,String fileName) throws UnsupportedEncodingException { response.setContentType("application/msexcel; charset=UTF-8"); if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) { //IE fileName = URLEncoder.encode(fileName, "UTF-8"); }else{ fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); } response.setHeader("Content-disposition", "attachment; filename="+ fileName + ".xls"); }
2.渲染文件数据
在业务层中
public boolean exportRUChkinm(ServletOutputStream outputStream, List<Chkinm> chkinmList) { //获取工作薄 WritableWorkbook workBook = null; //设置工作簿样式 WritableFont titleFont = new WritableFont(WritableFont.TIMES, 16, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); WritableCellFormat titleStyle = new WritableCellFormat(titleFont); try { titleStyle.setAlignment(Alignment.CENTRE); workBook = Workbook.createWorkbook(outputStream); WritableSheet sheet = workBook.createSheet("已审核入库单汇总导出表", 0); sheet.addCell(new Label(0, 0, "已审核入库单汇总导出表", titleStyle)); sheet.mergeCells(0, 0, 11, 0); sheet.addCell(new Label(0, 1, "入库单号")); sheet.addCell(new Label(1, 1, "凭证号")); sheet.addCell(new Label(2, 1, "单据类型")); sheet.addCell(new Label(3, 1, "制单日期")); sheet.addCell(new Label(4, 1, "制单时间")); sheet.addCell(new Label(5, 1, "入库仓位")); sheet.addCell(new Label(6, 1, "供应商")); sheet.addCell(new Label(7, 1, "总金额")); sheet.addCell(new Label(8, 1, "税前总金额")); sheet.addCell(new Label(9, 1, "制单人")); sheet.addCell(new Label(10, 1, "审核人")); //遍历list填充表格内容 int index = 1; for(int j=0; j<chkinmList.size(); j++){ if(j == chkinmList.size()){ break; } index += 1; sheet.addCell(new Label(0, index, chkinmList.get(j).getChkinno().toString())); sheet.addCell(new Label(1, index, chkinmList.get(j).getVouno())); sheet.addCell(new Label(2, index, chkinmList.get(j).getTyp())); sheet.addCell(new Label(3, index, new SimpleDateFormat("yyyy-MM-dd").format(chkinmList.get(j).getMaded()))); sheet.addCell(new Label(4, index, chkinmList.get(j).getMadet())); sheet.addCell(new Label(5, index, String.valueOf(chkinmList.get(j).getPositn().getDes()))); sheet.addCell(new Label(6, index, String.valueOf(chkinmList.get(j).getDeliver().getDes()))); sheet.addCell(new Label(7, index, Float.toString(chkinmList.get(j).getTotalamt()))); sheet.addCell(new Label(8, index, Double.toString(chkinmList.get(j).getNoTaxTotalamt()))); sheet.addCell(new Label(9, index, chkinmList.get(j).getMadeby())); sheet.addCell(new Label(10, index,chkinmList.get(j).getChecby())); } workBook.write(); outputStream.flush(); } catch (WriteException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally{ try { if(workBook!=null){ workBook.close(); } outputStream.close(); } catch (WriteException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return true; }
相关文章推荐
- 有关Java从数据库查询出的数据导出Excel POI分页功能总结
- java实现把数据库数据导出成word文件实现文件下载功能
- javaWed项目中用过滤器实现转码功能,敏感词汇过滤更能,处理Get和Post接收数据中的中文乱码问题以及敏感词汇的处理
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
- Java项目之查询处理的数据导出成Excel文档工具类
- 功能齐全、效率一流的免费开源数据库导入导出工具(c#开发,支持SQL server、SQLite、ACCESS三种数据库),每月借此处理数据5G以上
- Java数据导出功能之导出Excel文件实例
- JAVA 数据导出Word文档模板的功能实现
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
- Java中导出数据到Excel处理方法
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- GridView中的数据导出到Excel方法(包含处理模板列)
- Java 使用jxl.jar 导入导出Excel数据
- 文本数据批量导入导出数据库功能~~急~~
- java swing 导出Jtable里面的数据到excel
- SQL SERVER2000教程-第五章 处理数据 第十四节 数据导入导出
- SQL2005 SSMSE管理器里没有数据导入导出功能~~~解决方案
- 用Java事件处理机制实现录制回放功能
- java中将数据和图片导出到Excel文件中
- 导入导出EXCEL数据时有关时间的处理