gettingstartedwithjasperreports
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| gettingstartedwithjasperreports [2022/01/05 19:03] – [Tutorial 2: Running the SimpleReport in MIStudio] wikiadmin | gettingstartedwithjasperreports [2022/01/05 20:09] (current) – [Generate a Spreadsheet from SimpleReport] wikiadmin | ||
|---|---|---|---|
| Line 244: | Line 244: | ||
| ===Setting Up=== | ===Setting Up=== | ||
| + | If you do not have MIStudio Plus Reporting installed please do this step first. | ||
| + | You will need these files from the SimpleReport project in Tutorial 1: the compiled report SimpleReport.jasper, | ||
| + | |||
| + | You will need to edit the SQLiteTestDatabase.xml file in a text editor (Notepad++ or similar) to remove the hard-coded paths to the database file and the driver jar. It should look similar to this, with the correct name for your SQLite driver jar: | ||
| + | |||
| + | <code xml> | ||
| + | <?xml version=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | You will also need the DynamicJasper.jar in your MIStudio lib directory, which is installed with the Jasper Reports module for MIStudio. | ||
| + | |||
| + | ===MIStudio SimpleReport Project=== | ||
| + | |||
| + | Start MIStudio and create a new project, SimpleReport. Add a button to the design window and copy this to the diagram window. Label this button " | ||
| + | |||
| + | Copy and paste this script to the JavaScript bean: | ||
| + | |||
| + | <code javascript> | ||
| + | |||
| + | //Script to generate a PDF report from SimpleReport.jasper | ||
| + | |||
| + | var HashMap = Java.type(" | ||
| + | var FileInputStream = Java.type(" | ||
| + | var JasperPrint = Java.type(" | ||
| + | var JasperFillManager = Java.type(" | ||
| + | var JasperExportManager = Java.type(" | ||
| + | |||
| + | compiledReport=" | ||
| + | outputName = " | ||
| + | |||
| + | try { | ||
| + | reportStream = new FileInputStream(compiledReport); | ||
| + | parameters = new HashMap(); //empty hashmap | ||
| + | jasperPrint = JasperFillManager.fillReport( reportStream , parameters); | ||
| + | JasperExportManager.exportReportToPdfFile(jasperPrint, | ||
| + | |||
| + | | ||
| + | } catch (e) { | ||
| + | print(" | ||
| + | print(e); | ||
| + | | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | Go to the Test Frame of MIStudio and press the " | ||
| <note tip>If you see the error: | <note tip>If you see the error: | ||
| net.sf.jasperreports.engine.JRRuntimeException: | net.sf.jasperreports.engine.JRRuntimeException: | ||
| + | |||
| + | That's the end of this basic Tutorial. You can also generate other report types from this same SimpleReport.jasper file (see code examples below). | ||
| + | |||
| + | ===Generate a Spreadsheet from SimpleReport=== | ||
| + | |||
| + | Instead of generating a PDF you can make an xls or xlsx report (excel spreadsheets), | ||
| + | |||
| + | To make an xls spreadsheet, | ||
| + | |||
| + | <code javascript> | ||
| + | //Script to run SimpleReport.jasper as an XLS Excel Spreadsheet | ||
| + | |||
| + | var HashMap = Java.type(" | ||
| + | var FileInputStream = Java.type(" | ||
| + | var JasperPrint = Java.type(" | ||
| + | var JasperFillManager = Java.type(" | ||
| + | var JRXlsExporter = Java.type(" | ||
| + | var SimpleOutputStreamExporterOutput = Java.type(" | ||
| + | var SimpleExporterInput = Java.type(" | ||
| + | |||
| + | compiledReport=" | ||
| + | outputName = " | ||
| + | |||
| + | try { | ||
| + | reportStream = new FileInputStream(compiledReport); | ||
| + | parameters = new HashMap(); //empty hashmap | ||
| + | jasperPrint = JasperFillManager.fillReport( reportStream , parameters); | ||
| + | xlsExporter = new JRXlsExporter(); | ||
| + | xlsExporter.setExporterInput(new SimpleExporterInput(jasperPrint)); | ||
| + | xlsExporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputName)); | ||
| + | xlsExporter.exportReport(); | ||
| + | |||
| + | | ||
| + | } catch (e) { | ||
| + | print(" | ||
| + | print(e); | ||
| + | | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | to make an xlsx spreadsheet, | ||
| + | |||
| + | <code javascript> | ||
| + | //Script to run SimpleReport.jasper as an XLSX Excel Spreadsheet | ||
| + | |||
| + | var HashMap = Java.type(" | ||
| + | var FileInputStream = Java.type(" | ||
| + | var JasperPrint = Java.type(" | ||
| + | var JasperFillManager = Java.type(" | ||
| + | var JRXlsxExporter = Java.type(" | ||
| + | var SimpleOutputStreamExporterOutput = Java.type(" | ||
| + | var SimpleExporterInput = Java.type(" | ||
| + | |||
| + | compiledReport=" | ||
| + | outputName = " | ||
| + | |||
| + | try { | ||
| + | reportStream = new FileInputStream(compiledReport); | ||
| + | parameters = new HashMap(); //empty hashmap | ||
| + | jasperPrint = JasperFillManager.fillReport( reportStream , parameters); | ||
| + | xlxsExporter = new JRXlsxExporter(); | ||
| + | xlxsExporter.setExporterInput(new SimpleExporterInput(jasperPrint)); | ||
| + | xlxsExporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputName)); | ||
| + | xlxsExporter.exportReport(); | ||
| + | |||
| + | | ||
| + | } catch (e) { | ||
| + | print(" | ||
| + | print(e); | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | to make a csv file, use this script: | ||
| + | |||
| + | <code javascript> | ||
| + | //Script to run SimpleReport.jasper to generate a CSV file | ||
| + | |||
| + | var HashMap = Java.type(" | ||
| + | var FileInputStream = Java.type(" | ||
| + | var JasperPrint = Java.type(" | ||
| + | var JasperFillManager = Java.type(" | ||
| + | var JRCsvExporter = Java.type(" | ||
| + | var SimpleCsvExporterConfiguration = Java.type(" | ||
| + | var SimpleWriterExporterOutput = Java.type(" | ||
| + | var SimpleExporterInput = Java.type(" | ||
| + | |||
| + | compiledReport=" | ||
| + | outputName = " | ||
| + | |||
| + | try { | ||
| + | reportStream = new FileInputStream(compiledReport); | ||
| + | parameters = new HashMap(); //empty hashmap | ||
| + | parameters.put(" | ||
| + | jasperPrint = JasperFillManager.fillReport( reportStream , parameters); | ||
| + | csvExporter = new JRCsvExporter(); | ||
| + | csvExporter.setExporterInput(new SimpleExporterInput(jasperPrint)); | ||
| + | csvExporter.setExporterOutput(new SimpleWriterExporterOutput(outputName)); | ||
| + | csvConfiguration = new SimpleCsvExporterConfiguration(); | ||
| + | csvConfiguration.setWriteBOM(true); | ||
| + | csvConfiguration.setRecordDelimiter(" | ||
| + | csvExporter.setConfiguration(csvConfiguration); | ||
| + | csvExporter.exportReport(); | ||
| + | | ||
| + | } catch (e) { | ||
| + | print(" | ||
| + | print(e); | ||
| + | | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ===Run the SimpleReport from TransSECS=== | ||
| + | |||
| + | You can trigger a script in TransSECS Devices with a CEID (Collection Event) or any other trigger to run the same reports as you can run in MIStudio and MIX. Copy the files listed in the setup section to your TransSECS project' | ||
| + | |||
| + | |||
| + | |||
gettingstartedwithjasperreports.1641427436.txt.gz · Last modified: by wikiadmin
