我需要使用Java庫Apache POI for spreadsheets生成.xls(Excel)文件。Apache POI for Excel:將單元格類型設置爲整個列的「文本」
該文件將包含列A中的電話號碼列表,格式爲「0221 ....」或「+49221 ...」 - 因此Excel默認將其解釋爲數字單元格。這很糟糕,因爲領先的0或+會被修剪。
爲了解決這個問題,我可以使用cell.setCellType(Cell.CELL_TYPE_STRING)
,它工作正常,但僅限於我爲此設置的特定單元。
我該如何應用整個列的設置(即使對於所有剩餘的單元格,用戶將輸入額外的電話號碼)?
在Excel中,這是可能的:選擇整列,並應用細胞類型(設置保存後生還/加載的文件。)
但我找不到POI的正確方法。
- 首先我假設它應該是類似
sheet.setDefaultCellType(int colNum)
的東西。但我找不到像這樣的東西(可能我只是瞎了?圖書館有很多similar methods用於應用文本樣式,如「對齊中心」等) - 然後我想:也許它只能應用到NamedRange或類似的東西,但我還沒有設法弄清楚這是如何工作的...
看起來不錯!一旦我回到項目中,我會嘗試這個解決方案。謝謝! –
This Works ... Thanks! – jahroy
我也這麼做了。 var cllstyl = this.Workbook.CreateCellStyle(); var workbook = new HSSFWorkbook(); var currDataFormat = workbook.CreateDataFormat(); cllstyl.DataFormat = currDataFormat.GetFormat(「@」); sheet.SetDefaultColumnStyle(1,cllstyl);但它不顯示「文本」格式,而是顯示「日期」。請幫助我。 –