Automatic Report Generator Wiki
Generate reports from Java applications directly.
Brought to you by:
ennahdi
Version 3 of automatic report generator project Builder design pattern fore more flexibility, except for XML Generator.
try {
Engine e = new CSVEngine.Builder(c, query, "d:/work/examples/example.csv").build();
File f = e.generate();
} catch (FileNotGeneratedException e) {
logger.error("", e);
}
try {
Engine e = new CSVEngine.Builder(c, query, "d:/work/examples/example.csv").statementType(StatementType.CALLABLE_STATEMENT).separator(',').escape('\'').build();
File f = e.generate();
} catch (FileNotGeneratedException e) {
logger.error("", e);
}
Engine e = new XLSEngine.Builder(c, query, path).build();
File f = e.generate();
Engine e = new XLSEngine.Builder(c, query, path).inputDateFormat("yyyy-MM-dd").outputDateFormat("dd/MM/yyyy").build();
File f = e.generate();
try {
Engine e = new XMLEngine(c, StatementType.PREPARED_STATEMENT, query, path) {
@Override
public Object browse(ResultSet rs) {
try {
ObjectFactory factory = new ObjectFactory();
Employees root = factory.createEmployees();
List<Employee> employees = new ArrayList<>();
int i = 0;
while (rs.next()) {
Employee emp;
emp = factory.createEmployee(rs);
employees.add(emp);
i++;
}
root.setEmployees(employees);
logger.info("Rows Processed: " + i);
return root;
} catch (DatatypeConfigurationException | SQLException e) {
logger.error("", e);
} finally {
try {
rs.close();
} catch (SQLException e) {
logger.error("", e);
}
}
throw new FileNotGeneratedException("A problem occurred during the generation of the document " + path + ".");
}
};
File f = e.generate();
} catch (FileNotGeneratedException e) {
logger.error("", e);
}