1. 程式人生 > >java jxl匯出excel,當數字超過11位變成科學計數法,如何轉換成數字問題解決方法

java jxl匯出excel,當數字超過11位變成科學計數法,如何轉換成數字問題解決方法

 使用jxl的可能會遇到這種問題,比如匯出身份證號或者其他數字可能超過11位的,使用普通的文字匯出時候,excel就會自動變成科學計數法的形式,這影響了使用者體驗,找來找去,想看看jxl有沒有提供設定單元格格式的api,後來終於找到了,如下:

jxl都可以生成excel,給你說下jxl怎麼生成的吧,詳細的api你可以從網上下載。
//新增帶有formatting的Number物件 
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");    //設定數字格式
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf); //設定表單格式    
jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926, wcfN); //格式化數值
ws.addCell(labelNF);   //在表單中新增格式化的數字

 我在使用的時候,一開始發現匯出的是這樣:

  一開始還以為沒有成功,發現是單元格寬度太窄了,拖動上方,顯示正常, 這個也可以通過設定寬度來解決:

// 設定寬度,2018年1月2日14:57:23
bankListSheet.setColumnView(i + 3, 10);//防止出現####的形式
jxl.write.Number labelNF = new jxl.write.Number(i + 3, bodyLengtj + 3, titleDoubleSum.getSumDoule()
.get(i), titleCellFormat); // 格式化數值,超過十一位預設會轉為科學計數法,需要設定一下,2018年1月2日14:35:15

 

記錄一下方便後人參考,參考連結:jxl顯示身份證號碼