java导出cvs文件
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();//每次调用换一行
	}
}
最终效果图:

 
                    
                 
