當導出的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很方便的打開。