java从页面出数据库数据到CSV 

解决方案 »

  1.   

    1 将响应头修改一下,不要是 text/html了,比如 text/csv 呵呵
    2 读取数据,然后每个字段用逗号分隔,每行用换行分割OVER
      

  2.   


    用记事本打开一个csv文件看下
    你就会发现里面都是用逗号分隔的一行又一行
    跟记事本没啥区别
    要是做excel的话
    得用jxl的workbook sheet了
    呵呵
      

  3.   


    PrintStream out = new PrintStream(new FileOutputStream( yourCSVFile ));
    for(Object[] row : yourDataRows){
      for(int columnIndex = 0; columnIndex<columnCount; columnIndex++){
        out.print(row[columnIndex]);
        if(columnIndex != columnCount - 1)
          out.print(',');
      }
      out.println();
    }
    out.flush();
    out.close();
      

  4.   

    // 查询条件
    vip_user_issue_list = queryAllLog( sessionId, areaId, roleId);

    statIssue = exportCSV(vip_user_issue_list);

    //拼装下载的CSV文件的默认文件名
    String fileName = "常见问题统计结果.csv";
    response.setContentType("application/x-msdownload; charset=GBK");
    response.addHeader("Content-Disposition",
       "attachment; filename=" +
       URLEncoder.encode(fileName, "UTF-8")); byte[] bytes = statIssue.getBytes();
    response.getOutputStream().write(bytes);
    response.getOutputStream().flush();
                    long end = System.currentTimeMillis();
                    System.out.println("Do statIssueAction cost:" + (end - begin) +
                       "ms.");
    }
    catch (Exception e)
    {
    if (log.isLogEnabled(Priority.WARN))
    {
    log.log(Priority.WARN,"Stat issue fail!", e);
    }
    }
    finally
    {
    //关闭文件
    response.getOutputStream().close();
    }