[]
Classes that implement this interface can be used as a ResultSet -like data source for template processing. An ITableDataSource exposes tabular data through row and column indexes, together with column metadata, so that it can be added to a workbook by using Workbook.addDataSource(String,Object).
class ExampleTableDataSource implements ITableDataSource {
private final Object[][] data = {
{ "Alice" },
{ "Bob" }
};
private final String[] columns = { "Customer" };
public Object getValue(int row, int column) {
return data[row][column];
}
public int getRowCount() {
return data.length;
}
public int getColumnCount() {
return columns.length;
}
public String getColumnName(int column) {
return columns[column];
}
public int getColumnIndex(String columnName) {
return java.util.Arrays.asList(columns).indexOf(columnName);
}
}
ITableDataSource dataSource = new ExampleTableDataSource();
workbook.addDataSource("customers", dataSource);
intintgetColumnIndex(String columnName) getColumnName(int column) intgetValue(int row,
int column)
ITableDataSource dataSource = new ExampleTableDataSource();
Object value = dataSource.getValue(0, 0);
row - start from 0column - start from 0
ITableDataSource dataSource = new ExampleTableDataSource();
int rowCount = dataSource.getRowCount();
ITableDataSource dataSource = new ExampleTableDataSource();
int columnCount = dataSource.getColumnCount();
ITableDataSource dataSource = new ExampleTableDataSource();
String columnName = dataSource.getColumnName(0);
column - start from 0
ITableDataSource dataSource = new ExampleTableDataSource();
int columnIndex = dataSource.getColumnIndex("Customer");
columnName - The column name.