web项目导出CSV格式数据

来源:互联网 发布:js判断日期是否合法 编辑:程序博客网 时间:2024/05/26 12:06

Controller层


@RequestMapping("/exportCsv")    @ResponseBody    public void exportCsv(HttpServletRequest request, HttpServletResponse httpResponse) throws IOException {        List<String> dataList = new ArrayList<String>();        String reportName = "csv-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + ".csv";        try {            dataList.add("1,2,3,4,5,6,7,8");            dataList.add("11,12,13,14,15,16,17,18");            dataList.add("一,二,三,四,五,六,七,八");        } catch (Exception e) {            logger.error("CSV export failure", e);        } finally {            CSVUtils.exportCSV(httpResponse, dataList, reportName);        }    }



util方法
 
    *      * 导出csv方法     * @param response     * @param list     * @param name     */    public static void exportCSV(HttpServletResponse response, List<String> list, String name) {        try {            response.setContentType("application/csv;charset=UTF-8");           response.setHeader("Content-Disposition", "attachment; filename=" + new String( name.getBytes("gb2312"), "ISO8859-1" ));            String content = "";            for (String l : list) {                content += l + "\r";            }            InputStream inputStream = new ByteArrayInputStream(content.getBytes("UTF-8"));            int len = 0;            byte[] buffer = new byte[1024];            response.setCharacterEncoding("UTF-8");            OutputStream out = response.getOutputStream();            while ((len = inputStream.read(buffer)) > 0) {                out.write(new byte[] { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF });                out.write(buffer, 0, len);            }            inputStream.close();            out.close();        } catch (IOException e) {            logger.error("csv export failure"+e);        }    }


0 0
原创粉丝点击