天天看點

java web導出csv檔案

用csv導出取代excel導出的原因

poi導出excel時會出現以下問題:

  1. excel2003 單sheet最多隻能導出65536條資料(excel2007 單sheet能導出百萬級資料,彌補了2003的缺陷)
  2. excel每建立一個單元格就會生成一個對象,并且excel生成過程中不會釋放對象,是以會占用大量的記憶體資源

csv檔案打開方式:

  1. office excel打開
  2. wps excel打開

問題:

  1. utf-8 導出,導緻office excel打開亂碼

    原因:office excel預設以assic編碼打開csv檔案(office excel不會提前判斷檔案編碼格式,wps excel則會自動判斷)

  2. utf-8 + bom 導出, 解決了office excel打開檔案亂碼問題,但是導緻了wps excel打開檔案部分中文亂碼問題

    原因:BufferedInputStream 以位元組的方式讀取檔案,當位元組數組以漢字為分割時,會出現亂碼

    解決:改用BufferedReader,以字元的方式讀取檔案

繼續閱讀