用csv格式的檔案代替poi匯出xls檔案
阿新 • • 發佈:2019-01-04
當匯出的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很方便的開啟。