Java实现数据库中查询出数据转存成excel表的方法

  介绍

这篇文章将为大家详细讲解有关Java实现数据库中查询出数据转存成excel表的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

注意日期格式如果是以字符串类型的方式存到数据库的导出时要转换一次,直接导出格式不对

因为导出excel表格用的是得到方式传参,所以如果需要对导出的数据用中文模糊查询,此时用得到传参会出现中文乱码

<强>解决办法:

前端对需要传的中文参数进行一次编码URLEncoder.encode(传参,“utf - 8”);

后台需要再次解码:URLDecoder.decode(接收的参数,“utf - 8”);

@RequestMapping (value=https://www.yisu.com/zixun/皁utPutExcel”方法=RequestMethod.GET)   @ResponseBody   公共空间outPutExcel (officeid HttpServletResponse反应,字符串,   beginTime nameorphone sonid的字符串,字符串,字符串,字符串endTime,字符串选项){   字符串nString=" ";   尝试{   如果(nameorphone !=null & & nameorphone !=" ") {//对前端传的参数解码   nString=URLDecoder.decode (nameorphone“utf - 8”);   }   }捕捉(UnsupportedEncodingException e2) {//TODO自动生成的catch块   e2.printStackTrace ();   }   response.reset ();//设置浏览器下载的格式,并以当前时间的毫秒数命名   响应。setHeader(“附加”,“附件;文件名=" + System.currentTimeMillis () +“xls”);   response.setContentType(“应用程序/msexcel”);   列表=purchaseService。selectPCSum (officeid、sonid nString、beginTime endTime,选项);   如果(列表==null & & list.isEmpty ()) {   把新NullPointerException(“导出数据源为空");   }   HSSFWorkbook wb=new HSSFWorkbook ();   HSSFSheet表=wb.createSheet (“sheet0”);   HSSFRow行;   HSSFCell细胞;//设置表格第一行的列名//获得表格第一行   行=sheet.createRow (0);//根据需要给第一行每一列设置标题   细胞=rows.createCell (0);   cells.setCellValue(“客户姓名”);      细胞=rows.createCell (1);   cells.setCellValue(“客户电话”);      细胞=rows.createCell (2);   cells.setCellValue(“下单日期”);      细胞=rows.createCell (3);   cells.setCellValue(“订单号”);      细胞=rows.createCell (4);   cells.setCellValue(“所属分公司”);      细胞=rows.createCell (5);   cells.setCellValue(“签单人”);      细胞=rows.createCell (6);   cells.setCellValue(“品名”);      细胞=rows.createCell (7);   cells.setCellValue(“型号”);      细胞=rows.createCell (8);   cells.setCellValue(“颜色”);      细胞=rows.createCell (9);   cells.setCellValue(“尺寸”);      细胞=rows.createCell (10);   cells.setCellValue(“材质”);      细胞=rows.createCell (11);   cells.setCellValue(“已采购数量(件)");      细胞=rows.createCell (12);   cells.setCellValue(“采购单价”);      细胞=rows.createCell (13);   cells.setCellValue(“采购总价”);      细胞=rows.createCell (14);   cells.setCellValue(“已出库(件)");//循环数据库查出来的数据集,对应每一列赋值//此处list.size()本不应该1,因为同事在列表集合里追加了另一条数据,导致报错故将其去除   for (int i=0;我Java实现数据库中查询出数据转存成excel表的方法