批量导出为csv文件

 /**
     *
     * 功能描述: <br>
     * 批量导出
     *
     * @param request
     * @param response
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    @RequestMapping("sgbatchOutput")
    public void batchOutput(HttpServletRequest request, HttpServletResponse response) {
        String type = request.getParameter("type");
        logger.info("type:" + type, type);
        int typevalue = Integer.parseInt(type);
        List<Map<String, Object>> list = stService.batchOutput(typevalue);
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");// 设置日期格式
        String outputfilename = df.format(new Date());// new Date()为获取当前系统时间
        response.setCharacterEncoding("GBK");
        response.addHeader("Content-Disposition", "attachment;filename=" + outputfilename + ".csv");
        Writer writer = null;
        try {
            writer = response.getWriter();
            BufferedWriter bufferedWriter = new BufferedWriter(writer);
            stService.writeCsv(bufferedWriter, list, typevalue);
            bufferedWriter.close();
            writer.close();
        } catch (Exception e) {
            logger.error(e.toString(), e);
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException e) {
                }
            }
        }
    }


-----------------------------------------------------------------------------------------------------------------
 /**
     *
     * 功能描述: <br>
     * 写CSV文件
     * 
     */
    public void writeCsv(BufferedWriter bufferedWriter, List<Map<String, Object>> list, int typevalue)
            throws IOException {

                    bufferedWriter.write("常用\n");
            bufferedWriter.write("关键词,类型,目录,名称,图片url,url链接,值,\n");
            for (Map<String, Object> map : list) {
                bufferedWriter.write(map.get("KEYWORD").toString() + "," + map.get("TYPE").toString() + ","
                        + map.get("DIR_ID").toString() + "," + map.get("DIR_NAME").toString() + ","
                        + map.get("DIR_IMAGE").toString() + "," + map.get("URL").toString() + ","
                        + map.get("SORT").toString() + "\n");
                bufferedWriter.flush();
            }
        
        }

    }

------------------------------------------------------------------------------------------------------------
service

 /**
     * 功能描述: <br>
     * 批量导出     *
     * @param type
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public List<Map<String, Object>> batchOutput(int typevalue) {
        List<Map<String, Object>> results = new ArrayList<Map<String, Object>>();
        if (typevalue == 4) {
            results = sdDao.batchOutputDir();
        }
        if (typevalue == 5) {
            results = sbDao.batchOutputBrand();
        }
        if (typevalue == 8) {
            results = sgDao.batchOutputGoods();
        }
        if (typevalue == 10) {
            results = pgDao.batchOutputPro();
        }
        return results;
    }
---------------------------------------------------------------------------------------------------------
dao

  /**
     *
     * 功能描述: <br>
     * 批量导出常用分类
     *
     * @param type
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public List<Map<String, Object>> batchOutputDir() {

        // List<Object> paramList=new ArrayList<Object>();
        String sqlStr = "SELECT A.KEYWORD,B.TYPE,A.DIR_ID,A.DIR_NAME,"
                + "A.DIR_IMAGE,A.URL,A.SORT FROM DIRECTORY A "
                + "LEFT JOIN TF_SUGGESTION_TYPE B ON A.SUG_TYPE_ID=B.ID  WHERE  TYPE='04' ";
        return jdbcTemplate.queryForList(sqlStr);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值