国产TS紫迹丝袜高跟鞋在线,一区二区三区国产自产视频免费,67pao国产人成视频,午国产午夜激无码毛片不卡

愛碼網(wǎng)專注于資源免費下載

若依導(dǎo)出excel設(shè)置列格式為文本

一.問題場景

使用若依框架在導(dǎo)出Excel模板時要填寫身份證號,但是身份證號是個很長的數(shù)字,填寫時會變成科學(xué)計數(shù)法,這就有bug了。如下圖所示,我輸入的值是112233202409291234,回車后變成了科學(xué)計數(shù)法,值也變成了112233202409291000,這樣肯定是不對的。當(dāng)然我們可以在輸入前把單元格格式設(shè)置成文本,但是這對于用戶來說是不愿意的。

若依導(dǎo)出excel設(shè)置列格式為文本-第1張圖片

二.解決方案

修改ExcelUtil類的writeSheet方法,增加如下內(nèi)容:

若依導(dǎo)出excel設(shè)置列格式為文本-第2張圖片

放上代碼,方便復(fù)制粘貼:

// 將所有的單元格類型都設(shè)置為文本
CellStyle cellStyle = this.wb.createCellStyle();
DataFormat dataFormat = this.wb.createDataFormat();
cellStyle.setDataFormat(dataFormat.getFormat("@"));
for (int i = 0; i < fields.size(); i++) {
    sheet.setDefaultColumnStyle(i, cellStyle);
}

三.實現(xiàn)思路

利用POI中Sheet類的setDefaultColumnStyle(int var1, CellStyle var2)方法,其中入?yún)ar1表示列索引。首先我們知道導(dǎo)出的excel模板有多少列,即fielss.size()方法,然后利用setDefaultColumnStyle()方法把每一列都設(shè)置成文本格式。

效果如圖,單元格樣式已經(jīng)變成了文本格式!

若依導(dǎo)出excel設(shè)置列格式為文本-第3張圖片

上面是設(shè)置所有的單元格,如果只想設(shè)置某一個單元格為文本的話,可以使用下面的方法:

CellStyle cellStyle = wb.createCellStyle();
DataFormat dataFormat = wb.createDataFormat();
cellStyle.setDataFormat(dataFormat.getFormat("@"));
cell.setCellStyle(cellStyle);

本文鏈接:http://fangxuan.com.cn/article/292.html

網(wǎng)友評論

熱門文章
隨機文章
熱門標(biāo)簽
側(cè)欄廣告位