可以将JasperReports查看器集成到我的Swing应用程序中,就像从应用程序中单击查看报告按钮后应该打开查看器一样。如果可以的话,您可以通过代码片段为此集成提供建议,并且在此查看器中,应将保存类型限制为仅限PDF,而不是其他所有可用的下载选项过滤器。如何将JasperViewer与基于Swing的应用程序集成
请在这方面给我建议。
可以将JasperReports查看器集成到我的Swing应用程序中,就像从应用程序中单击查看报告按钮后应该打开查看器一样。如果可以的话,您可以通过代码片段为此集成提供建议,并且在此查看器中,应将保存类型限制为仅限PDF,而不是其他所有可用的下载选项过滤器。如何将JasperViewer与基于Swing的应用程序集成
请在这方面给我建议。
是的,你可以,Jasper报表拿出一个可用的(虽然简单)的报表查看器:
...
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport...);
JasperViewer.viewReport(jasperPrint);
...
最后一行就是显示观众。不过,我不确定您是否可以将可用的输出格式限制为PDF。
让我们假设该报告包含报告文件(* .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;
}
}