2016-09-16 42 views
1

看來,當我運行我的報告,並將其導出到Excel.CSV所有我的貨幣值似乎在開始時追加ÂIreport到CSV是附加到所有貨幣單元

XML如下:

</textField> 
<textField isStretchWithOverflow="true" pattern="£ #,##0.00" isBlankWhenNull="false"> 
    <reportElement x="760" y="0" width="100" height="20" uuid="cba1b317-f85f-4b3b-9549-66389c451cfa"/> 
    <textElement> 
     <font size="10" pdfEncoding="Cp1252"/> 
    </textElement> 
<textFieldExpression><![CDATA[$F{ItemRateBilled}]]></textFieldExpression> 

我已經改變了格局無數次無濟於事。看來下面是這個問題,但我不知道如何解決:

英鎊符號是Unicode codepoint 163。如果將其寫入UTF-8編碼文件,則將其編寫爲序列194,163.當文件在Excel中導入時,假定採用不同的編碼,可能是默認的ANSI代碼頁。因此,序列194,163不被解釋爲一個Unicode codepoint。相反,它被解釋爲序列£

所以,要麼使Excel解釋文件爲UTF-8編碼的文件,或自己編寫的文件,通過指定System.Text.Encoding.Default codepage.

電流誤差爲CSV:

CSV issue

回答

1

這是不是來自Jasper而是來自Excel的問題。

如果您使用能夠解釋UTF-8的程序(如Notepad ++)查看該文件,則完全不應該發生這種情況。

從Jasper導出的CSV文件不應直接打開。相反,應打開Excel,並在數據選項卡中使用函數導入函數。

導入CSV文件時,將輸入編碼更改爲UTF-8。然後Excel將正確解釋文件。