基于XSSFWorkbook 实现POI设置指定列为文本格式
生活随笔
收集整理的這篇文章主要介紹了
基于XSSFWorkbook 实现POI设置指定列为文本格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于XSSFWorkbook 實現POI設置指定列為文本格式
寫在前面
需求是通過XSSFWorkbook來實現Excel導出數據功能的.并限制文件的某一列單元格格式為文本格式.作為開發來說,原本認為這是個很簡單的需求,但實際搞起來…
第一次修改
把某一列作為一個整體進行處理,代碼如下:
// 創建workbook工作薄 XSSFWorkbook xssfWorkbook= new XSSFWorkbook(); // 樣式 XSSFCellStyle commonStyle = xssfWorkbook.createCellStyle(); // 設置為文本格式 DataFormat format = xssfWorkbook.createDataFormat(); commonStyle.setDataFormat(format.getFormat("@")); XSSFSheet sheet = wb.createSheet();// 對單獨某一列進行樣式賦值,第一個參數為列數(從0開始),第二個參數為樣式 所有列的話,循環列進行操作即可 sheet.setDefaultColumnStyle(i, style);搞完之后,導出文件查看列格式
這同一個列 ,有數據的和沒數據的單元格格式咋還不一樣了捏…,不說產品會不會滿意了,我是不能接受的,繼續改吧.
第二次修改
在導出數據的時候,有對應的循環添加數據,在那里面添加文本格式就行了.
// 設置為文本格式 DataFormat format = xssfWorkbook.createDataFormat(); commonStyle.setDataFormat(format.getFormat("@")); // 在每一個單元格中添加此文本格式配置// 循環獲取行信息 for (int i = 0; i < list.size(); i++) {Row tempRow = sheet.createRow(4 + i);// 行中的列數據,for (int i1 = 0; i1 < headerList.size(); i1++) {// 獲取有數據的單元格Cell tempCell = tempRow.createCell(i1);~~~ 其他業務處理,上面的也是原業務邏輯,自己沒動,懶人一個~~~// 設定文本格式tempCell.setCellStyle(commonStyle);} }導出文件,導出文件查看列格式
搞定!!
總結
導出Excel時候,指定列的單元格格式,需要注意整列的單元格格式是否一樣,XSSFWorkbook 可以這樣操作,HSSFWorkbook也是可以的,文本格式可以,數字格式,百分比格式也是可以的,POI可以,EasyExcel…暫時還沒試,有時間搞下.
總結
以上是生活随笔為你收集整理的基于XSSFWorkbook 实现POI设置指定列为文本格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识产权服务代理行业税收政策
- 下一篇: 如何解决wmv/asf/asx格式转成m