使用Apache POI產生的Excel有一個問題: 0 開頭的文字在雙擊該Cell並離開後,開頭的 0 會被刪除,例如電話儲存格為 0800080412,雙擊並離開該儲存格後會變成 800080412。
▼儲存格一開始是000101
▼雙擊並離開該欄後會變成 101,開頭的000消失了
雖然我們在使用POI時有指定 CELL_TYPE_STRING:
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
但這只是把儲存格變成通用格式,通用格式在編修後會刪掉開頭的 0。我們必須將儲存格的DataFormat指定為文字格式才能避免此問題。範例如下:
HSSFCellStyle cellStyle = demoWorkBook.createCellStyle(); HSSFDataFormat format = demoWorkBook.createDataFormat(); // format.getFormat("@") = 49, 儲存格文字格式 cellStyle.setDataFormat(format.getFormat("@")); cell.setCellStyle(cellStyle);
參考
##
您可能也會有興趣的類似文章
- 試用iReport 0.5.2 (2則留言, 2005/11/15)
- 解決 iReport 升級後的問題 (1則留言, 2005/11/22)
- 方便的IntelliJ IDEA資料庫功能 (0則留言, 2013/07/19)
- [iReport] 兩個文字元件:Static Text與Text Field (0則留言, 2005/04/15)
- [iReport] 正常顯示中文的PDF格式完全解決方法 (0則留言, 2005/02/16)
- 快速建立IntelliJ IDEA的Live Template的步驟 (0則留言, 2014/02/21)
- [jEdit] 系統畫面組成之說明 (0則留言, 2007/10/26)
- [Java] 常用的IDEA Plugins (0則留言, 2005/06/02)
- [jEdit] 方便的主控台插件Console (0則留言, 2007/10/28)
- jTDS JDBC Driver在2012年10月釋出了能在JDK 1.7運行的1.3.0版 (0則留言, 2013/01/16)
- 文字編輯器印象與jEdit (6則留言, 2007/10/24)
- [iReport] 正常顯示中文的PDF格式 (0則留言, 2005/02/15)
- [jEdit] 關鍵字(縮寫)擴展的強大插件:SuperAbbrevs (1則留言, 2007/10/29)
- [iReport] 元件顏色與快速鍵 (修正) (0則留言, 2005/04/06)
- [Java] 在jar檔裡搜尋特定類別的工具 (0則留言, 2007/09/03)
The post 修正以Apache POI產生Excel數值型文字的問題 appeared first on 簡睿隨筆.