在利用ireport輸出報表的時候,有些生僻字沒法處理,報的異常爲--->數組下標越界java
在網上查找了相關資料,沒有找到解決辦法,實在沒轍了,只能使用圖片代替了...數組
步驟:(假設在模板中放入生僻字的是一個static text文本元素)服務器
1.把生僻字用正常的字代替,而後輸出報表,導出excel表格eclipse
2.在excel表格中把正常的字用原來的生僻字代替,再利用QQ截圖,保存爲JPG的格式(在excel中截圖清晰些,該截圖的大小和放入生僻字的static text文本元素的大小有一致)測試
3.刪除放置生僻字的static text元素,而且在static text的位置放入圖片元素image,它會彈出一個對話框讓你選擇圖片,選擇剛纔的QQ截圖this
4.通過上面三個步驟以後,新的模板就生成好了,接下來看效果,發現改圖片能夠在PDF預覽中正常顯示,導出的excel中也能正常顯示excel
5.由於放入的圖片是在本地,因此須要把該圖片放入到服務器上去,由於個人工程爲MAVEN工程,因此把圖片和項目放在一塊兒,放置路徑爲:code
java Resource--->src/main/resource--->image--->title.jpgxml
6.在jrxml模板中使用xml視圖,CTRL+F,查找jpg,會找到在模板中放入本地的QQ截圖圖片
<imageExpression><![CDATA["C:\\USER\\title.jpg"]]></imageExpression>
把該圖片去掉,換成變量名$P{path},修改以後爲
<imageExpression><![CDATA[$P{path2}]]></imageExpression>
7.在模板中加入parameter參數:path
8.在java後臺放入模板參數,java代碼以下:(給模板加入參數的代碼可能會有所不一樣,只要達到給模板添加可識別的參數path就能夠了)
String path = ""; if(this.getClass().getClassLoader().getResource("image/title.jpg") != null){ path = this.getClass().getClassLoader().getResource("image/title.jpg").getPath(); }; param.getParameters().put("path",path));
能夠在eclipse中DEBUG測試一下,若是path不等於null,表示 可以在項目中可以正確的找到圖片,若是爲null,則表示圖片放錯地方了...
9.編譯MAVEN工程,測試報表便可