Ho risolto il mio problema, a vantaggio di chi dovesse incorrere nello stesso problema propongo questo codice:
codice:
/*
* Main.java
*
*/
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import net.sf.jasperreports.engine.util.*;
import net.sf.jasperreports.view.*;
import java.sql.*;
import java.io.*;
import java.util.*;
/**
*
*/
public class Main {
/** Creates a new instance of Main */
void Main() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try{
//File jasper sorgente
String fileName="C:\\report1.jasper";
//File pdf di destinazione
String destFileNamePdf="C:\\report1.pdf";
//File xls di destinazione
String destFileNameXls="C:\\report1.xls";
//Passaggio parametri da passare al jasper.
Map parameters = new HashMap();
parameters.put("param1", new Integer(1));
//Preparazione del file da stampare (in questa fase si esegue la query e si inseriscono
//i valori estratti dalla query)
JasperPrint jasperPrint=JasperFillManager.fillReport(fileName, parameters, getConnection());
//Creazione del PDF
JasperExportManager.exportReportToPdfFile(jasperPrint, destFileNamePdf);
//Creazione dell'xls
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFileNameXls);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();
System.exit(0);
}catch (Exception e){
e.printStackTrace();
}
}
/**Metodo per creare la connessione al DB*/
private static Connection getConnection() throws ClassNotFoundException, SQLException {
//Change these settings according to your local configuration
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectString = "jdbc:odbc:nomedb";
String user = "admin";
String password = "password";
Class.forName(driver);
Connection conn = DriverManager.getConnection(connectString, user, password);
return conn;
}
}
Alla prossima,
AleX