List of usage examples for org.apache.poi.hssf.usermodel HSSFCellStyle getFillForegroundColorColor
@Override
public HSSFColor getFillForegroundColorColor()
From source file:com.report.excel.ExcelToHtmlConverter.java
License:Apache License
protected String buildStyle(HSSFWorkbook workbook, HSSFCellStyle cellStyle) { StringBuilder style = new StringBuilder(); style.append("white-space:pre-wrap;"); ExcelToHtmlUtils.appendAlign(style, cellStyle.getAlignment()); if (cellStyle.getFillPattern() == 0) { // no fill } else if (cellStyle.getFillPattern() == 1) { final HSSFColor foregroundColor = cellStyle.getFillForegroundColorColor(); if (foregroundColor != null) style.append("background-color:" + ExcelToHtmlUtils.getColor(foregroundColor) + ";"); } else {/*from www . j a v a2 s . co m*/ final HSSFColor backgroundColor = cellStyle.getFillBackgroundColorColor(); if (backgroundColor != null) style.append("background-color:" + ExcelToHtmlUtils.getColor(backgroundColor) + ";"); } buildStyle_border(workbook, style, "top", cellStyle.getBorderTop(), cellStyle.getTopBorderColor()); buildStyle_border(workbook, style, "right", cellStyle.getBorderRight(), cellStyle.getRightBorderColor()); buildStyle_border(workbook, style, "bottom", cellStyle.getBorderBottom(), cellStyle.getBottomBorderColor()); buildStyle_border(workbook, style, "left", cellStyle.getBorderLeft(), cellStyle.getLeftBorderColor()); HSSFFont font = cellStyle.getFont(workbook); buildStyle_font(workbook, style, font); return style.toString(); }
From source file:com.vaadin.addon.spreadsheet.HSSFColorConverter.java
License:Open Source License
@Override public void colorStyles(final CellStyle cellStyle, final StringBuilder sb) { HSSFCellStyle cs = (HSSFCellStyle) cellStyle; // TODO Fill pattern not supported // out.format(" /* fill pattern = %d */%n", cs.getFillPattern()); short fillForegroundColor = cs.getFillForegroundColor(); short fillBackgroundColor = cs.getFillBackgroundColor(); String backgroundColor = null; HSSFColor fillForegroundColorColor = cs.getFillForegroundColorColor(); if (fillForegroundColorColor != null && fillForegroundColor != HSSFColor.AUTOMATIC.index) { backgroundColor = styleColor(fillForegroundColor); } else {/* ww w . ja v a 2 s . c om*/ HSSFColor fillBackgroundColorColor = cs.getFillBackgroundColorColor(); if (fillBackgroundColorColor != null && fillBackgroundColor != HSSFColor.AUTOMATIC.index) { backgroundColor = styleColor(fillBackgroundColor); } } if (backgroundColor != null && !backgroundColor.equals(defaultBackgroundColor)) { sb.append("background-color:"); sb.append(backgroundColor); } String color = styleColor(cs.getFont(wb).getColor()); if (color != null && !color.equals(defaultColor)) { sb.append("color:"); sb.append(color); } }
From source file:com.vaadin.addon.spreadsheet.HSSFColorConverter.java
License:Open Source License
@Override public boolean hasBackgroundColor(CellStyle cellStyle) { HSSFCellStyle cs = (HSSFCellStyle) cellStyle; short fillForegroundColor = cs.getFillForegroundColor(); short fillBackgroundColor = cs.getFillBackgroundColor(); HSSFColor fillForegroundColorColor = cs.getFillForegroundColorColor(); if (fillForegroundColorColor != null && fillForegroundColor != HSSFColor.AUTOMATIC.index) { return true; } else {/*from w w w. java 2 s . c o m*/ HSSFColor fillBackgroundColorColor = cs.getFillBackgroundColorColor(); if (fillBackgroundColorColor != null && fillBackgroundColor != HSSFColor.AUTOMATIC.index) { return true; } } return false; }
From source file:com.wangzhu.poi.ExcelToHtmlConverter.java
License:Apache License
protected String buildStyle(HSSFWorkbook workbook, HSSFCellStyle cellStyle) { StringBuffer style = new StringBuffer(); style.append("white-space:pre-wrap;"); ExcelToHtmlUtils.appendAlign(style, cellStyle.getAlignment()); if (cellStyle.getFillPattern() == 0) { // no fill } else if (cellStyle.getFillPattern() == 1) { final HSSFColor foregroundColor = cellStyle.getFillForegroundColorColor(); if (foregroundColor != null) { style.append("background-color:" + AbstractExcelUtils.getColor(foregroundColor) + ";"); }// www .ja v a2 s. c o m } else { final HSSFColor backgroundColor = cellStyle.getFillBackgroundColorColor(); if (backgroundColor != null) { style.append("background-color:" + AbstractExcelUtils.getColor(backgroundColor) + ";"); } } this.buildStyle_border(workbook, style, "top", cellStyle.getBorderTop(), cellStyle.getTopBorderColor()); this.buildStyle_border(workbook, style, "right", cellStyle.getBorderRight(), cellStyle.getRightBorderColor()); this.buildStyle_border(workbook, style, "bottom", cellStyle.getBorderBottom(), cellStyle.getBottomBorderColor()); this.buildStyle_border(workbook, style, "left", cellStyle.getBorderLeft(), cellStyle.getLeftBorderColor()); HSSFFont font = cellStyle.getFont(workbook); this.buildStyle_font(workbook, style, font); return style.toString(); }
From source file:gov.nih.nci.evs.browser.utils.ResolvedValueSetIteratorHolder.java
License:Open Source License
/** * (Each Excel sheet cell becomes an HTML table cell) Generates an HTML * table cell which has the same font styles, alignments, colours and * borders as the Excel cell.//w w w. jav a 2 s .c om * * @param cell * The Excel cell. */ private void td(final HSSFCell cell) { int colspan = 1; if (colIndex == mergeStart) { // First cell in the merging region - set colspan. colspan = mergeEnd - mergeStart + 1; } else if (colIndex == mergeEnd) { // Last cell in the merging region - no more skipped cells. mergeStart = -1; mergeEnd = -1; return; } else if (mergeStart != -1 && mergeEnd != -1 && colIndex > mergeStart && colIndex < mergeEnd) { // Within the merging region - skip the cell. return; } //KLO 05022018 //out.append("<td "); out.append("<td height=\"15\" "); if (colspan > 1) { out.append("colspan='").append(colspan).append("' "); } if (cell == null) { out.append("/>\n"); return; } out.append("style='"); final HSSFCellStyle style = cell.getCellStyle(); // Text alignment switch (style.getAlignment()) { case CellStyle.ALIGN_LEFT: out.append("text-align: left; "); break; case CellStyle.ALIGN_RIGHT: out.append("text-align: right; "); break; case CellStyle.ALIGN_CENTER: out.append("text-align: center; "); break; default: break; } // Font style, size and weight final HSSFFont font = style.getFont(book); if (font == null) return; if (font.getBoldweight() == HSSFFont.BOLDWEIGHT_BOLD) { out.append("font-weight: bold; "); } if (font.getItalic()) { out.append("font-style: italic; "); } if (font.getUnderline() != HSSFFont.U_NONE) { out.append("text-decoration: underline; "); } out.append("font-size: ").append(Math.floor(font.getFontHeightInPoints() * 0.8)).append("pt; "); // Cell background and font colours final short[] backRGB = style.getFillForegroundColorColor().getTriplet(); final HSSFColor foreColor = palette.getColor(font.getColor()); if (foreColor != null) { final short[] foreRGB = foreColor.getTriplet(); if (foreRGB[0] != 0 || foreRGB[1] != 0 || foreRGB[2] != 0) { out.append("color: rgb(").append(foreRGB[0]).append(',').append(foreRGB[1]).append(',') .append(foreRGB[2]).append(");"); } } if (backRGB[0] != 0 || backRGB[1] != 0 || backRGB[2] != 0) { out.append("background-color: rgb(").append(backRGB[0]).append(',').append(backRGB[1]).append(',') .append(backRGB[2]).append(");"); } // Border if (style.getBorderTop() != HSSFCellStyle.BORDER_NONE) { out.append("border-top-style: solid; "); } if (style.getBorderRight() != HSSFCellStyle.BORDER_NONE) { out.append("border-right-style: solid; "); } if (style.getBorderBottom() != HSSFCellStyle.BORDER_NONE) { out.append("border-bottom-style: solid; "); } if (style.getBorderLeft() != HSSFCellStyle.BORDER_NONE) { out.append("border-left-style: solid; "); } out.append("'>"); String val = ""; try { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: val = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_NUMERIC: // POI does not distinguish between integer and double, thus: final double original = cell.getNumericCellValue(), rounded = Math.round(original); if (Math.abs(rounded - original) < 0.00000000000000001) { val = String.valueOf((int) rounded); } else { val = String.valueOf(original); } break; case HSSFCell.CELL_TYPE_FORMULA: final CellValue cv = evaluator.evaluate(cell); if (cv == null) return; switch (cv.getCellType()) { case Cell.CELL_TYPE_BOOLEAN: out.append(cv.getBooleanValue()); break; case Cell.CELL_TYPE_NUMERIC: out.append(cv.getNumberValue()); break; case Cell.CELL_TYPE_STRING: out.append(cv.getStringValue()); break; case Cell.CELL_TYPE_BLANK: break; case Cell.CELL_TYPE_ERROR: break; default: break; } break; default: // Neither string or number? Could be a date. try { val = sdf.format(cell.getDateCellValue()); } catch (final Exception e1) { } } } catch (final Exception e) { val = e.getMessage(); } if ("null".equals(val)) { val = ""; } if (pix.containsKey(rowIndex)) { if (pix.get(rowIndex).containsKey(colIndex)) { for (final HSSFPictureData pic : pix.get(rowIndex).get(colIndex)) { out.append("<img alt='Image in Excel sheet' src='data:"); out.append(pic.getMimeType()); out.append(";base64,"); try { out.append(new String(Base64.encodeBase64(pic.getData()), "US-ASCII")); } catch (final UnsupportedEncodingException e) { throw new RuntimeException(e); } out.append("'/>"); } } } if (isCode(val) && this.URL != null) { val = getHyperLink(val); } out.append(val); out.append("</td>\n"); }
From source file:gov.nih.nci.evs.browser.utils.ResolvedValueSetIteratorHolder.java
License:Open Source License
private void td(final HSSFCell cell, StringBuffer buf) { int colspan = 1; if (colIndex == mergeStart) { // First cell in the merging region - set colspan. colspan = mergeEnd - mergeStart + 1; } else if (colIndex == mergeEnd) { // Last cell in the merging region - no more skipped cells. mergeStart = -1;//from ww w . ja v a 2 s.c o m mergeEnd = -1; return; } else if (mergeStart != -1 && mergeEnd != -1 && colIndex > mergeStart && colIndex < mergeEnd) { // Within the merging region - skip the cell. return; } //KLO 05022018 //buf.append("<td "); buf.append("<td height=\"15\" "); if (colspan > 1) { buf.append("colspan='").append(colspan).append("' "); } if (cell == null) { buf.append("/>"); return; } buf.append("style='"); final HSSFCellStyle style = cell.getCellStyle(); // Text alignment switch (style.getAlignment()) { case CellStyle.ALIGN_LEFT: buf.append("text-align: left; "); break; case CellStyle.ALIGN_RIGHT: buf.append("text-align: right; "); break; case CellStyle.ALIGN_CENTER: buf.append("text-align: center; "); break; default: break; } // Font style, size and weight final HSSFFont font = style.getFont(book); if (font == null) return; if (font.getBoldweight() == HSSFFont.BOLDWEIGHT_BOLD) { buf.append("font-weight: bold; "); } if (font.getItalic()) { buf.append("font-style: italic; "); } if (font.getUnderline() != HSSFFont.U_NONE) { buf.append("text-decoration: underline; "); } buf.append("font-size: ").append(Math.floor(font.getFontHeightInPoints() * 0.8)).append("pt; "); // Cell background and font colours final short[] backRGB = style.getFillForegroundColorColor().getTriplet(); final HSSFColor foreColor = palette.getColor(font.getColor()); if (foreColor != null) { final short[] foreRGB = foreColor.getTriplet(); if (foreRGB[0] != 0 || foreRGB[1] != 0 || foreRGB[2] != 0) { buf.append("color: rgb(").append(foreRGB[0]).append(',').append(foreRGB[1]).append(',') .append(foreRGB[2]).append(");"); } } if (backRGB[0] != 0 || backRGB[1] != 0 || backRGB[2] != 0) { buf.append("background-color: rgb(").append(backRGB[0]).append(',').append(backRGB[1]).append(',') .append(backRGB[2]).append(");"); } // Border if (style.getBorderTop() != HSSFCellStyle.BORDER_NONE) { buf.append("border-top-style: solid; "); } if (style.getBorderRight() != HSSFCellStyle.BORDER_NONE) { buf.append("border-right-style: solid; "); } if (style.getBorderBottom() != HSSFCellStyle.BORDER_NONE) { buf.append("border-bottom-style: solid; "); } if (style.getBorderLeft() != HSSFCellStyle.BORDER_NONE) { buf.append("border-left-style: solid; "); } buf.append("'>"); String val = ""; try { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: val = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_NUMERIC: // POI does not distinguish between integer and double, thus: final double original = cell.getNumericCellValue(), rounded = Math.round(original); if (Math.abs(rounded - original) < 0.00000000000000001) { val = String.valueOf((int) rounded); } else { val = String.valueOf(original); } break; case HSSFCell.CELL_TYPE_FORMULA: final CellValue cv = evaluator.evaluate(cell); if (cv == null) return; switch (cv.getCellType()) { case Cell.CELL_TYPE_BOOLEAN: buf.append(cv.getBooleanValue()); break; case Cell.CELL_TYPE_NUMERIC: buf.append(cv.getNumberValue()); break; case Cell.CELL_TYPE_STRING: buf.append(cv.getStringValue()); break; case Cell.CELL_TYPE_BLANK: break; case Cell.CELL_TYPE_ERROR: break; default: break; } break; default: // Neither string or number? Could be a date. try { val = sdf.format(cell.getDateCellValue()); } catch (final Exception e1) { } } } catch (final Exception e) { val = e.getMessage(); } if ("null".equals(val)) { val = ""; } if (pix.containsKey(rowIndex)) { if (pix.get(rowIndex).containsKey(colIndex)) { for (final HSSFPictureData pic : pix.get(rowIndex).get(colIndex)) { buf.append("<img alt='Image in Excel sheet' src='data:"); buf.append(pic.getMimeType()); buf.append(";base64,"); try { buf.append(new String(Base64.encodeBase64(pic.getData()), "US-ASCII")); } catch (final UnsupportedEncodingException e) { throw new RuntimeException(e); } buf.append("'/>"); } } } if (isCode(val) && this.URL != null) { val = getHyperLink(val); } buf.append(val); buf.append("</td>"); }
From source file:org.pentaho.reporting.engine.classic.core.bugs.Prd3899IT.java
License:Open Source License
public void testBug() throws ResourceException, IOException, ReportProcessingException { final MasterReport report = DebugReportRunner.parseGoldenSampleReport("Prd-3889.prpt"); final ByteArrayOutputStream bout = new ByteArrayOutputStream(); ExcelReportUtil.createXLS(report, bout); final HSSFWorkbook wb = new HSSFWorkbook(new ByteArrayInputStream(bout.toByteArray())); final HSSFSheet sheetAt = wb.getSheetAt(0); final HSSFRow row = sheetAt.getRow(0); final HSSFCell cell0 = row.getCell(0); // assert that we are in the correct export type .. final HSSFCellStyle cellStyle = cell0.getCellStyle(); final HSSFColor fillBackgroundColorColor = cellStyle.getFillBackgroundColorColor(); final HSSFColor fillForegroundColorColor = cellStyle.getFillForegroundColorColor(); assertEquals("0:0:0", fillBackgroundColorColor.getHexString()); assertEquals("FFFF:FFFF:9999", fillForegroundColorColor.getHexString()); // assert that there are no extra columns .. final HSSFRow row8 = sheetAt.getRow(7); assertNull(row8);/* w w w . ja v a 2 s.co m*/ }
From source file:org.pentaho.reporting.engine.classic.core.bugs.Prd5391.java
License:Open Source License
@Test public void testSlowExport() throws ResourceException, ReportProcessingException, IOException { // This establishes a baseline for the second test using the slow export. final MasterReport report = DebugReportRunner.parseLocalReport("Prd-5391.prpt", Prd5391.class); final ByteArrayOutputStream bout = new ByteArrayOutputStream(); ExcelReportUtil.createXLS(report, bout); final HSSFWorkbook wb = new HSSFWorkbook(new ByteArrayInputStream(bout.toByteArray())); final HSSFSheet sheetAt = wb.getSheetAt(0); final HSSFRow row = sheetAt.getRow(0); final HSSFCell cell0 = row.getCell(0); // assert that we are in the correct export type .. final HSSFCellStyle cellStyle = cell0.getCellStyle(); final HSSFColor fillBackgroundColorColor = cellStyle.getFillBackgroundColorColor(); final HSSFColor fillForegroundColorColor = cellStyle.getFillForegroundColorColor(); Assert.assertEquals("0:0:0", fillBackgroundColorColor.getHexString()); Assert.assertEquals("FFFF:8080:8080", fillForegroundColorColor.getHexString()); HSSFFont font = cellStyle.getFont(wb); Assert.assertEquals("Times New Roman", font.getFontName()); }
From source file:org.pentaho.reporting.engine.classic.core.bugs.Prd5391.java
License:Open Source License
@Test public void testFastExport() throws ResourceException, ReportProcessingException, IOException { // This establishes a baseline for the second test using the slow export. final MasterReport report = DebugReportRunner.parseLocalReport("Prd-5391.prpt", Prd5391.class); final ByteArrayOutputStream bout = new ByteArrayOutputStream(); FastExcelReportUtil.processXls(report, bout); final HSSFWorkbook wb = new HSSFWorkbook(new ByteArrayInputStream(bout.toByteArray())); final HSSFSheet sheetAt = wb.getSheetAt(0); final HSSFRow row = sheetAt.getRow(0); final HSSFCell cell0 = row.getCell(0); // assert that we are in the correct export type .. final HSSFCellStyle cellStyle = cell0.getCellStyle(); final HSSFColor fillBackgroundColorColor = cellStyle.getFillBackgroundColorColor(); final HSSFColor fillForegroundColorColor = cellStyle.getFillForegroundColorColor(); Assert.assertEquals("0:0:0", fillBackgroundColorColor.getHexString()); Assert.assertEquals("FFFF:8080:8080", fillForegroundColorColor.getHexString()); HSSFFont font = cellStyle.getFont(wb); Assert.assertEquals("Times New Roman", font.getFontName()); }
From source file:org.pentaho.reporting.engine.classic.core.bugs.Prd5391IT.java
License:Open Source License
@Test public void testSlowExport() throws ResourceException, ReportProcessingException, IOException { // This establishes a baseline for the second test using the slow export. final MasterReport report = DebugReportRunner.parseLocalReport("Prd-5391.prpt", Prd5391IT.class); final ByteArrayOutputStream bout = new ByteArrayOutputStream(); ExcelReportUtil.createXLS(report, bout); final HSSFWorkbook wb = new HSSFWorkbook(new ByteArrayInputStream(bout.toByteArray())); final HSSFSheet sheetAt = wb.getSheetAt(0); final HSSFRow row = sheetAt.getRow(0); final HSSFCell cell0 = row.getCell(0); // assert that we are in the correct export type .. final HSSFCellStyle cellStyle = cell0.getCellStyle(); final HSSFColor fillBackgroundColorColor = cellStyle.getFillBackgroundColorColor(); final HSSFColor fillForegroundColorColor = cellStyle.getFillForegroundColorColor(); Assert.assertEquals("0:0:0", fillBackgroundColorColor.getHexString()); Assert.assertEquals("FFFF:8080:8080", fillForegroundColorColor.getHexString()); HSSFFont font = cellStyle.getFont(wb); Assert.assertEquals("Times New Roman", font.getFontName()); }