2013-04-02 88 views
2

我正在開發使用spring MVC框架工作的網絡應用程序,在我的應用程序中我使用jasper report將部分結果下載到csv。但我在下載包含數字字段如credit card number的報告時遇到問題。即使信用卡號碼字段在我的應用程序中是字符串類型,但它在下載爲csv時會自動轉換爲整數字段,並且由於卡號爲length 16-digits,因此它將始終轉換爲exponential form。我怎麼解決這個問題?。我試過各種方法,但沒用的格式化碧玉報告欄

+0

csv文件不會爲其數據存儲格式。這只是一個純文本 –

+0

這可能有所幫助:http://stackoverflow.com/questions/8157796/csv-formatting-in-jasper-reports –

回答

2

這是因爲不管你做什麼Excel都會中斷一系列數字作爲數字本身,除非你在Excel中手動指定格式。在谷歌中有各種解決方案,比如加入'(單引號)在系列數字停止Excel中將其中斷爲整數。但更好的解決方案可能適用於您,在您的應用程序保存cerdit卡號到數據庫之前,您可以將該字符串劃分爲如5455-4121-4124-9221這樣的格式。以下是可能對您有幫助的代碼,

String cerditcardNum=""; 
String[] cerditcardnum = new String[10]; 
cerditcardnum[0]=cerditcardnumber.substring(0,4); 
cerditcardnum[1]=cerditcardnumber.substring(4,8); 
cerditcardnum[2]=cerditcardnumber.substring(8,12); 
cerditcardnum[3]=cerditcardnumber.substring(12,cerditcardnumber.length()); 
cerditcardNum=cerditcardnum[0]+"-"+cerditcardnum[1]+"-"+cerditcardnum[2]+"-"+cerditcardnum[3]; 
+0

雅我將檢查此代碼 –

+0

代碼作品,謝謝你的ans –

+0

你是隨時歡迎! –