2012-05-23 77 views
6

我正在使用iReport 2.0.2。 我在使用Excel導出器的幫助生成報告後格式化數字數據時遇到問題。JasperReports:如何使用Excel導出器格式化數值數據

例如,85110057689字符串被表示爲在Excel文件8.51100e+10(如在的iReport使用「預覽在Excel」按鈕的結果)。

請建議如何將格式更改爲簡單(不科學)。

+0

我想85110057689應該是8.51100e + 10。你確定你沒有複製錯誤的行嗎? –

+0

即時對不起,即時錯誤把例子。我現在編輯我的問題 –

+0

現在的問題是如何避免在excel中的數字85110057689爲8.51100e + 10當我發佈報告時。:( –

回答

9

我們可以使用net.sf.jasperreports.export.xls.detect.cell.type屬性來解決問題。

從文檔報價:

net.sf.jasperreports.export.xls.detect.cell.type

屬性,其值被用作IS_DETECT_CELL_TYPE出口標誌的默認狀態。

指定導出者是否應考慮原始文本字段表達式的類型 ,並相應地設置單元格類型和 值。

例如,我們可以爲整個報告設置該屬性:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" ...> 
    <property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/> 
+0

你對此100%正確,我將它添加到我的項目中,它確實解決了問題。 –

0

爲了防止在Excel中以科學計數法顯示大量數字,請確保不是值,而是在Excel單元格中放入=「value」。

例如如果數字值= 85110057689,則以字符串格式轉換值並將結果格式化爲'=「85110057689」',其中雙引號將大數字包起來,並且前面有一個'='符號。

+0

我已經嘗試在Excel中成功,但這不是我想要的。我想要的是當我發佈報告時,數字不會改變格式在Excel中。我可以在iReports中放置公式的哪個部分? –

+0

指定FormatFactory類生成報告。Ref--> http://jasperreports.sourceforge.net/ JasperReports-Ultimate-Guide-3.pdf – rt2800

相關問題