当导出的Excel文件对格式没有要求,并且是单一表头的时候,可以导出csv格式的文件,来代替xls文件
好处:
1、快
2、快
3、快
因为poi操作不仅涉及到单元格数据的处理,还涉及到单元格格式,单元格合并等等操作,因此,对于格式要求不多的Excel文件,并不合适,太重了。
而csv文件只是特定格式的文本文件,只是后缀是.csv的
csv的数据格式:
导出csv文件到底有多快:
写的一个小测试,导出一百万条数据,花费了443毫秒
下面贴代码
long startTime = System.currentTimeMillis();
File file = new File("F:/csvtest.csv");
try (OutputStream out = new FileOutputStream(file);
OutputStreamWriter writer = new OutputStreamWriter(out)) {
writer.append("列1,列2,列3,列4,列5,列6\n");
writer.append("cc,男,帅哥,666,777,888\n");
int size = 10000 * 100;// 一百万次
for (int i = 0; i < size; i++) {
writer.append("debug,女,美女,666,777,888\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(System.currentTimeMillis() - startTime);
花费的时间:
结论:
csv格式的操作不依赖任何poi的包,任何地方都可以写
csv格式的操作速度快,每列的数据只需要用逗号隔开,每行结束的地方换行,最后生成的文件就可以用Excel很方便的打开。