package testcvs;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

/**
*
* CSV文件导出工具类
*/
public class CSVUtils {

public static void main(String[] args) {

List<Object> list = new ArrayList();
list.add("标题1姓名");
list.add("标题2年龄");

List<Object> list3=new ArrayList<Object>();
list3.add("数据11");
list3.add("数据22");
List<List<Object>> dataList=new ArrayList<List<Object>>();
dataList.add(list3);

createCSVFile(list, dataList);
System.out.println("ok");
}

/**
* CSV文件生成方法
*
* @param head
* @param dataList
* @param outPutPath
* @param filename
* @return
*/
public static File createCSVFile(List<Object> head,
List<List<Object>> dataList) {

File csvFile = null;
BufferedWriter csvWtriter = null;
try {
csvFile = new File("d:\\ExportCVSFile.csv");//d:\\ExportCVSFile.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<Object> 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<Object> row, BufferedWriter csvWriter)
throws IOException {
// 写入文件头部
for (Object data : row) {
  StringBuffer sb = new StringBuffer();

    //rowStr"标题1姓名",
    // rowStr"标题2年龄",
    // rowStr"数据11",
    // rowStr"数据22",

  String rowStr = sb.append("\"").append(data).append("\",").toString();//"+数据+"
  csvWriter.write(rowStr);
}
  csvWriter.newLine();//每次调用换一行
}
}

最终效果图:

java导出cvs文件的更多相关文章

  1. java导出word文件

    java导出word文件 test5.ftl文件生存方法, 第一步:用word新建test5.doc,填写完整模板,将需导出数据用${}代替 第二步:将test5.doc另存为test5.xml 第三 ...

  2. access 如何导出 cvs 文件?

    三部曲 1 access 数据表导出 excel 表格 2 excel 另存为 *.cvs 格式文件 3 数据库导入 *.cvs 文件

  3. Java导出pdf文件数据

    提示:导出pdf文件,需要3个jar包iText-2.1.5.jar,iTextAsian.jar,iText-rtf-2.1.4.jar. public boolean outputPdfJhsy( ...

  4. Java导出Excel文件

    /** * 导出 用get请求 * @param response * @param * @throws IOException */ @RequestMapping(value = "/d ...

  5. java 导出Excel文件

    最近在做一个文件导出功能,发现大部分博客上通过引用各种的util工具包,其实说白了还是利用apache的poi,在项目中直接导入poi包就可以.直面其原理,随个人喜好封装. 1.首先准备一些poi的j ...

  6. Java导出CSV文件

    以前导出总是用POI导出为Excel文件,后来当我了解到CSV以后,我发现速度飞快. 如果导出的数据不要求格式.样式.公式等等,建议最好导成CSV文件,因为真的很快. 虽然我们可以用Java再带的文件 ...

  7. java导出txt文件

    1:vm模板页面的代码片段 <div class="col-sm-1"> <button type="button" class=" ...

  8. 解决PL/SQL导出cvs文件中文显示乱码

    方法 1 导出csv格式文件 新建excel文件 比如 a.xls excel软件打开 选择菜单数据 -导入外部数据  unicode默认下一步 选择 逗号分隔符 点击确定导入完成 方法 2 导出成h ...

  9. Java导出Excel文件的两种方法

    将数据以Excel表格的形式导出:首先下载poi的jar包,导入项目中,或者使用maven仓库管理,在pom文件添加:<dependency>    <groupId>org. ...

随机推荐

  1. u盘安装centos

    1. 下载centos系统2. 使用UltraISO制作u盘启动.制作方法:http://jingyan.baidu.com/article/a378c960630e61b329283045.html ...

  2. java文件下载 rest

    /** * 返回文件二进制 * */ @GET @Path("/excel") @Produces("application/vnd.ms-excel; charset= ...

  3. HorizontalScrollView的配置

    package com.exmple.jinritoutiao; import java.util.ArrayList;import java.util.Calendar;import java.ut ...

  4. c# 操作xml题目

    download! 1.新建一个文本文件,命名为:projects.txt. 2.将后缀名改为projects.xml.  3.用记事本编辑该文件.使用utf-8编码.内容如下: <?xml v ...

  5. ubuntu下搭建nagios

    基本参考 http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html,直接apt-get install的话应该更快.要监控url,参考 ...

  6. mysql笔记01 MySQL架构与历史、Schema与数据类型优化

    MySQL架构与历史 1. MySQL架构推荐参考:http://www.cnblogs.com/baochuan/archive/2012/03/15/2397536.html 2. MySQL会解 ...

  7. combotree

    1,直接获取:     单选:$("#id").combotree("getValue")     多选:$("#id").combotre ...

  8. ASP.NET MVC Model验证总结【转】

    一.启用客户端验证: 客户端验证主要是为了提高用户体验,在网页不回刷的情况下完成验证. 第一步是要在web.config里启用客户端验证,这在MVC3自带的模板项目中已经有了: <add key ...

  9. HttpWebRequest:百度定位当前位置解析

    HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create("http://api.map.baidu.com ...

  10. IEnumerator:概念详解

    IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象.IEnumerator对象有什么呢?它是一个真正的 ...