博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
csv文件导出
阅读量:6573 次
发布时间:2019-06-24

本文共 3891 字,大约阅读时间需要 12 分钟。

参考博客:http://www.cnblogs.com/mingforyou/p/4103132.html

导入jar包javacsv.jar

链接:http://pan.baidu.com/s/1i5IDQ1R 密码:mycm

net.sourceforge.javacsv
javacsv
2.0

新建工具类;

public class ExportCSV {
/** * CSV文件生成方法 * @param head * @param dataList * @param outPutPath * @param filename * @return */ public static File createCSVFile(List head, List
> dataList, String outPutPath, String filename) {
File csvFile = null; BufferedWriter csvWtriter = null; try {
csvFile = new File(outPutPath + File.separator + filename + ".csv"); File parent = csvFile.getParentFile(); if (parent != null && !parent.exists()) {
parent.mkdirs(); } csvFile.createNewFile(); // GB2312使正确读取分隔符"," csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream( csvFile), "GB2312"), 1024); // 写入文件头部 writeRow(head, csvWtriter); // 写入文件内容 for (List row : dataList) {
writeRow(row, csvWtriter); } csvWtriter.flush(); } catch (Exception e) {
e.printStackTrace(); } finally {
try {
csvWtriter.close(); } catch (IOException e) {
e.printStackTrace(); } } return csvFile; } /** * 写一行数据方法 * @param row * @param csvWriter * @throws IOException */ private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {
// 写入文件头部 for (Object data : row) {
StringBuffer sb = new StringBuffer(); String rowStr = sb.append("\"").append(data).append("\",").toString(); csvWriter.write(rowStr); } csvWriter.newLine(); } public File createCSVFile(HttpServletRequest request,ResultSet rs,Object[] head,String fileNames,String outPutPath) throws Exception{
// 设置表格头 List headList = Arrays.asList(head); // 设置数据 List
> dataList = new ArrayList
>(); List rowList = null; while (rs.next()) { rowList = new ArrayList(); for (int i = 0; i < head.length; i++) { rowList.add(rs.getString(i+1)); } dataList.add(rowList); } // 导出文件路径 //String downloadFilePath = "C:" + File.separator + "系统日志" + File.separator + "download" + File.separator; // String downloadFilePath = "C:" + File.separator; // // 导出文件名称 Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String dateNowStr = sdf.format(d); // String fileName = "导出操作日志数据" + dateNowStr; fileNames = fileNames+dateNowStr; // 导出CSV文件 File csvFile = createCSVFile(headList, dataList, outPutPath, fileNames); // File csvFile = createCSVFile(headList, dataList, downloadFilePath, fileNames); return csvFile; } 2.。class 调用 csv构造文件
rs = userList(conn, sql);// 得到结果集 //          得到下载路径start             JFileChooser jfc=new JFileChooser();             jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );             jfc.showDialog(new JLabel(), "选择");             File file=jfc.getSelectedFile(); //             System.out.println("文件夹:"+file.getAbsolutePath());             String outPutPath = file.getAbsolutePath(); //          得到下载路径end //          这个是导出csv文件start             Object[] head ={ "用户名", "操作时间", "操作模块", "操作内容" };// 标题             ExportCSV exportCsv = new ExportCSV(); //          String outPutPath="C:";             exportCsv.createCSVFile(request, rs, head, "导出操作日志数据",outPutPath); //          这个是导出csv文件end             //这个是导出excel start //          Workbook wb = new HSSFWorkbook(); //          String headers[] = { "用户名", "操作时间", "操作模块", "操作内容" };// 标题 //          fillExcelData(rs, wb, headers); //          export(response, wb, "导出操作日志数据.xls");             //这个是导出excel end
 

  

 

转载于:https://www.cnblogs.com/jwlfpzj/p/6819667.html

你可能感兴趣的文章
HTML转义字符大全(转)
查看>>
[摘录]调动员工积极性的七个关键
查看>>
Linux getcwd()的实现【转】
查看>>
Backup Volume 操作 - 每天5分钟玩转 OpenStack(59)
查看>>
.htaccess 基础教程(四)Apache RewriteCond 规则参数
查看>>
转: maven进阶:一个多模块项目
查看>>
Android控件之HorizontalScrollView 去掉滚动条
查看>>
UVM中的class--2
查看>>
任务调度器配置文件
查看>>
ORACLE 存储过程异常捕获并抛出
查看>>
HDU 4293 Groups (线性dp)
查看>>
博客园博客美化相关文章目录
查看>>
root用户重置其他密码
查看>>
关于查询扩展版ESI高被引论文的说明
查看>>
【iCore3应用】基于iCore3双核心板的编码器应用实例
查看>>
Oracle推断值为非数字
查看>>
得知发行组长老潘今天岗位上最后一天就要离开有感
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
从JDK源码角度看Short
查看>>