Не могу просмотреть мой файл ireport в Java
Моя проблема в том, что я не могу просмотреть файл ireport, который я создал и сохранил. Вот кодирование Java:
private void btnreportActionPerformed(java.awt.event.ActionEvent evt) {
Connection c;
try {
c = DBConnect.DB();
String report = "C:\\Users\\p.bwalya\\Documents\\Reports\\NPS Report.jrprint ";
JasperReport JR = JasperCompileManager.compileReport(report);
JasperPrint JP = JasperFillManager.fillReport(JR,null,c);
JasperViewer.viewReport(JP);
} catch(SQLException | JRException e) {
e.printStackTrace();
}
}
и вот сообщение об ошибке:
net.sf.jasperreports.engine.JRException:
org.xml.sax.SAXParseException; номер строки: 1; номер столбца: 1; Неверный байт 1 1-байтовой последовательности UTF-8.
в net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:302)
в net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:285)
в net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:274)
в net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:219)
в net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:194)
в net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:185)
в net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:288)
в net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:575)
в ireport.main(ireport.java:35)
Кто-нибудь знает, что не так с моим кодом?
1 ответ
Вы компилируете файл jrxml, а не .jasper
файл (его уже соблюдается), ни jrprint
(Объект JasperPrint, он уже заполнен)
String report = "C:\\Users\\p.bwalya\\Documents\\Reports\\NPS Report.jrprint ";
JasperReport JR = JasperCompileManager.compileReport(report);
вам нужно передать .jrxml
эс.
String report = "C:\\Users\\p.bwalya\\Documents\\Reports\\NPS_Report.jrxml";
JasperReport JR = JasperCompileManager.compileReport(report);
Если вы хотите узнать больше о различных форматах отчетов яшмы..
то, что-это-разностного-между-jasperreport-форматы
Замечания:
- если у вас уже есть
.jasper
файла нет необходимости компилироватьjrxml
пройди.jasper
подать вfillReport
вместоJasperReport
см. комментарий @Lefteris Bab. - в
fillReport
рассмотрите пропуск пустойHashMap
вместоnull
,