All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.jxls.sample.ResultSetExport Maven / Gradle / Ivy

The newest version!
package net.sf.jxls.sample;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;

import net.sf.jxls.report.ResultSetCollection;
import net.sf.jxls.transformer.XLSTransformer;

/**
 * @author Leonid Vysochyn
 */
public class ResultSetExport {
    private static String templateFileName = "examples/templates/employees.xls";
    private static String destFileName = "build/resultset_output.xls";

    public static void main(String[] args) throws Exception,  ClassNotFoundException, SQLException {
        if (args.length >= 2) {
            templateFileName = args[0];
            destFileName = args[1];
        }
        DatabaseHelper dbHelper = new DatabaseHelper();
        Class.forName("org.hsqldb.jdbcDriver");
        Connection con = DriverManager.getConnection("jdbc:hsqldb:mem:jxls", "sa", "");
        dbHelper.initDatabase( con );
        // get result set
        Statement stmt = con.createStatement();
        // let's get number of records to be able to implement size() method in ResultSetCollection class
        String countQuery = "SELECT COUNT(*) FROM employee";
        ResultSet rs = stmt.executeQuery( countQuery );
        int count = 0;
        if( rs.next() ){
            count = rs.getInt( 1 );
        }

        String query = "SELECT name, age, payment, bonus, birthDate FROM employee";
        rs = stmt.executeQuery(query);
        Map beans = new HashMap();
        ResultSetCollection rsc = new ResultSetCollection(rs, count, true);
        beans.put("employee", rsc);
        XLSTransformer transformer = new XLSTransformer();
        transformer.transformXLS(templateFileName, beans, destFileName);
        stmt.close();
        rs.close();
        con.close();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy