protected String buildTable(XlsSheetSourceCodeModule sourceCodeModule) throws CreateTableException { XlsSheetGridModel gridModel = new XlsSheetGridModel(sourceCodeModule); SimpleRulesTableBuilder builder = new SimpleRulesTableBuilder(gridModel); CellStyleManager styleManager = new CellStyleManager(gridModel, table); Map<String, Object> properties = buildProperties(); properties.putAll(table.getProperties()); int width = DataTableBuilder.MIN_WIDTH; if (!properties.isEmpty()) { width = TableBuilder.PROPERTIES_MIN_WIDTH; } List<List<Map<String, Object>>> rows = table.getDataRows(styleManager); width = Math.max(table.getFieldsCount(), width); int height = TableBuilder.HEADER_HEIGHT + properties.size() + rows.size(); builder.beginTable(width, height); builder.writeHeader(table.getHeaderStr(), styleManager.getHeaderStyle()); builder.writeProperties(properties, styleManager.getPropertyStyles()); for (List<Map<String, Object>> row : rows) { builder.writeTableBodyRow(row); } String uri = gridModel.getRangeUri(builder.getTableRegion()); builder.endTable(); return uri; }
protected String buildTable(XlsSheetSourceCodeModule sourceCodeModule) throws CreateTableException { XlsSheetGridModel gridModel = new XlsSheetGridModel(sourceCodeModule); SimpleRulesTableBuilder builder = new SimpleRulesTableBuilder(gridModel); CellStyleManager styleManager = new CellStyleManager(gridModel, table); Map<String, Object> properties = buildProperties(); properties.putAll(table.getProperties()); int width = DataTableBuilder.MIN_WIDTH; if (!properties.isEmpty()) { width = TableBuilder.PROPERTIES_MIN_WIDTH; } List<List<Map<String, Object>>> rows = table.getDataRows(styleManager); width = Math.max(table.getFieldsCount(), width); int height = TableBuilder.HEADER_HEIGHT + properties.size() + rows.size(); builder.beginTable(width, height); builder.writeHeader(table.getHeaderStr(), styleManager.getHeaderStyle()); builder.writeProperties(properties, styleManager.getPropertyStyles()); for (List<Map<String, Object>> row : rows) { builder.writeTableBodyRow(row); } String uri = gridModel.getRangeUri(builder.getTableRegion()); builder.endTable(); return uri; }