/** * TWEST - New Method that answers a StringBuffer containing the totals * information. If no totals exist on the model answer an empty buffer. * * The totals row will be given the same style as the header row. * * @param model * @return StringBuffer containing the complete fo statement for totals */ public StringBuffer totals(TableModel model) { StringBuffer sb = new StringBuffer(); Export export = model.getExportHandler().getCurrentExport(); String headerColor = export.getAttributeAsString(HEADER_COLOR); String headerBackgroundColor = export.getAttributeAsString(HEADER_BACKGROUND_COLOR); Column firstCalcColumn = model.getColumnHandler().getFirstCalcColumn(); if (firstCalcColumn != null) { int rows = firstCalcColumn.getCalc().length; for (int i = 0; i < rows; i++) { sb.append("<fo:table-row>"); for (Iterator iter = model.getColumnHandler().getColumns().iterator(); iter.hasNext();) { Column column = (Column) iter.next(); if (column.isFirstColumn()) { String calcTitle = CalcUtils.getFirstCalcColumnTitleByPosition(model, i); sb.append(" <fo:table-cell border=\"solid silver .5px\" text-align=\"center\" display-align=\"center\" padding=\"3pt\" background-color=\""); sb.append(headerBackgroundColor + "\" color=\"" + headerColor + "\">"); sb.append(" <fo:block " + getFont() + ">" + calcTitle); sb.append(" </fo:block></fo:table-cell> "); continue; } if (column.isCalculated()) { sb.append(" <fo:table-cell border=\"solid silver .5px\" text-align=\"center\" display-align=\"center\" padding=\"3pt\" background-color=\""); sb.append(headerBackgroundColor + "\" color=\"" + headerColor + "\"> "); sb.append(" <fo:block " + getFont() + ">"); CalcResult calcResult = CalcUtils.getCalcResultsByPosition(model, column, i); Number value = calcResult.getValue(); if (value != null) { sb.append(ExtremeUtils.formatNumber(column.getFormat(), value, model.getLocale())); } else { sb.append("n/a"); } sb.append("</fo:block> "); } else { sb.append(" <fo:table-cell border=\"solid silver .5px\" text-align=\"center\" display-align=\"center\" padding=\"3pt\" background-color=\""); sb.append(headerBackgroundColor + "\" color=\"" + headerColor + "\"> "); sb.append(" <fo:block " + getFont() + ">"); sb.append(" "); sb.append("</fo:block> "); } sb.append(" </fo:table-cell> "); } sb.append("</fo:table-row>"); } } return sb; }
public String header(TableModel model) { StringBuffer sb = new StringBuffer(); Export export = model.getExportHandler().getCurrentExport(); String headerColor = export.getAttributeAsString(HEADER_COLOR); String headerBackgroundColor = export.getAttributeAsString(HEADER_BACKGROUND_COLOR); sb.append(" <fo:table-header background-color=\"" + headerBackgroundColor + "\" color=\"" + headerColor + "\"> "); sb.append(" <fo:table-row> "); List columns = model.getColumnHandler().getHeaderColumns(); for (Iterator iter = columns.iterator(); iter.hasNext();) { Column column = (Column) iter.next(); String title = column.getCellDisplay(); sb.append(" <fo:table-cell border=\"solid silver .5px\" text-align=\"center\" display-align=\"center\" padding=\"3pt\"> "); sb.append(" <fo:block" + getFont() + ">" + title + "</fo:block> "); sb.append(" </fo:table-cell> "); } sb.append(" </fo:table-row> "); sb.append(" </fo:table-header> "); return sb.toString(); }
public String columnDefinitions(TableModel model) { StringBuffer sb = new StringBuffer(); sb.append(" <fo:flow flow-name=\"xsl-region-body\"> "); sb.append(" <fo:block" + getFont() + ">"); sb.append(" <fo:table table-layout=\"fixed\" font-size=\"10pt\"> "); double columnCount = model.getColumnHandler().columnCount(); double colwidth = 10 / columnCount; for (int i = 1; i <= columnCount; i++) { sb.append(" <fo:table-column column-number=\"" + i + "\" column-width=\"" + colwidth + "in\"/> "); } return sb.toString(); }
private void createHeader(TableModel model) { rownum = 0; cellnum = 0; HSSFRow row = sheet.createRow(rownum); List columns = model.getColumnHandler().getHeaderColumns(); for (Iterator iter = columns.iterator(); iter.hasNext(); ) { Column column = (Column) iter.next(); String title = column.getCellDisplay(); HSSFCell cell = row.createCell(cellnum); // modify by springside // cell.setEncoding(HSSFCell.ENCODING_UTF_16); // end of modify by springside cell.setCellStyle((HSSFCellStyle) styles.get("titleStyle")); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(title); int valWidth = (title + "").length() * WIDTH_MULT; sheet.setColumnWidth(cell.getCellNum(), (short) valWidth); cellnum++; } }