CSV文件导出工具类
public class CSVUtil {
public static File createCSVFile(List<Object> head,List<List<Object>> dataList,String outPutPath,String fileName){
File csvFile = null;
BufferedWriter csvWriter = null;
try{
csvFile = new File(outPutPath + File.separator + fileName + ".csv");
File parent = csvFile.getParentFile();
if(parent != null && parent.exists()){
parent.mkdirs();
}
csvFile.createNewFile();
csvWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile),"GBK"),1024);
//写入文件头部
writeRow(head,csvWriter);
//写入文件内容
for(List<Object> row:dataList){
writeRow(row,csvWriter);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
csvWriter.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
private static void writeRow(){
for(Object data:row){
StringBuffer sb = new StringBuffer();
String rowStr = sb.append("\"").append((data==null? || "".equals(data)) ? "-" : data).append("\t").apend("\",").toString();
csvWriter.write(rowStr);
}
csvWriter.newLine();
}
}