Excel導出單元格數據類型設置


在實現TTS功能的時候,需要根據話術的變量動態導出Excel模板,如果不設置單元格的數據類型,默認情況下是常規類型,這樣在填入手機號等數字類型的數據時,Excel有時會自動轉換格式,導致讀入的數據會有問題。所以導出的時候需要設置列的默認數據類型為文本類型。
在導出的時候,使用了EasyPOI,本來easyPOI設置的單元格的默認數據類型即為文本類型,但是如果導出模板的時候,由於沒有數據,所以空單元格的數據類型還是常規類型。因此這個時候需要調用方法來設置整個列的數據類型為文本類型。看了下EasyPOI的源碼,沒有發現設置數據類型的方法,所以直接調用了原生的POI方法來設置數據類型。
 
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, colList, Collections.emptyList());
CellStyle textStyle = workbook.createCellStyle();
textStyle.setDataFormat((short) BuiltinFormats.getBuiltinFormat("TEXT"));
Sheet sheet = workbook.getSheet(sheetName);

for(int i = 0; i < colList.size(); i++) {
    sheet.setDefaultColumnStyle(i, textStyle);
}

這樣導出的Excel所有的列的數據類型都為文本類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM