xls 文件就是Microsoft excel电子表格的文件格式 。
CSV是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。 此文件 ,一行即为数据表的一行。生成数据表字段用半角逗号隔开 。如下:
"记录条数","CO","机构名"
"130843","450000601","XXXXXXX"
"68407","450000602","XXXXXXX"
解释:csv文件实际上就是字符串,之间用“,”进行分割,之后进行的存储。
工具类如下:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
/**
*
* CSV文件导出工具类
*/
public class CSVUtils {
/**
* CSV文件生成方法
* @param head
* @param dataList
* @param outPutPath
* @param filename
* @return
*/
public static File createCSVFile(List<Object> head, List<List<Object>> 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<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();
String rowStr = sb.append("\"").append(data).append("\",").toString();
csvWriter.write(rowStr);
}
csvWriter.newLine();
}
}
本文来自作者[敖潇郡]投稿,不代表格瑞号立场,如若转载,请注明出处:https://gree0731.com/ig/14828.html
评论列表(4条)
我是格瑞号的签约作者“敖潇郡”!
希望本篇文章《java 导出cvs和excel的区别》能对你有所帮助!
本站[格瑞号]内容主要涵盖:生活百科,小常识,生活小窍门,知识分享
本文概览:xls 文件就是Microsoft excel电子表格的文件格式。CSV是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。 此文件,一行即为数据表的一行。生...