我可以将JasperReports Viewer集成到我的Swing应用程序中,就像我点击应用程序中的查看报告按钮一样,然后应该打开查看器。如果是这样,你可以告诉我这个集成的代码片段,在这个查看器中,save as type应该仅限于PDF而不是每个其他可用的下载选项过滤器。
请在这方面给我建议。
答案 0 :(得分:2)
是的,Jasper Reports附带了一个可用的(尽管很简单的)报表查看器:
...
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport...);
JasperViewer.viewReport(jasperPrint);
...
最后一行是显示查看器的内容。不过,我不确定你是否可以将可用的输出格式限制为PDF。
答案 1 :(得分:0)
我们假设该报告包含报告文件的名称(* .jrxml)。 该程序将使用mysql数据库中的数据填充报告。 我希望这能解决你的问题。
public void generate(String report) { // report will contain the name of your file
try {
InputStream design = getClass().getResourceAsStream(report);
JasperDesign jasperdesing = JRXmlLoader.load(design);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperdesing);
Connection con = ConnectDB.connect();// connect function in ConnectDB calss is used to connect to the database
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, con);
JasperViewer.viewReport(jasperPrint, false);
} catch (Exception e) {
System.out.println("Exception " + e);
}
}
public class ConnectDB {
public static Connection con = null;
public static Connection connect(){
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql:///dbname","username","password");
}catch(Exception e){
System.out.println();
}
return con;
}
}