List of usage examples for org.apache.poi.ss.usermodel CellStyle getFontIndex
@Removal(version = "4.2") short getFontIndex();
From source file:org.netxilia.impexp.impl.ExcelImportService.java
License:Open Source License
@Override public List<SheetFullName> importSheets(INetxiliaSystem workbookProcessor, WorkbookId workbookName, InputStream is, IProcessingConsole console) throws ImportException { List<SheetFullName> sheetNames = new ArrayList<SheetFullName>(); try {/* ww w . ja va 2 s.c o m*/ log.info("Starting import:" + workbookName); Workbook poiWorkbook = new HSSFWorkbook(is); IWorkbook nxWorkbook = workbookProcessor.getWorkbook(workbookName); log.info("Read POI"); NetxiliaStyleResolver styleResolver = new NetxiliaStyleResolver( styleService.getStyleDefinitions(workbookName)); HSSFPalette palette = ((HSSFWorkbook) poiWorkbook).getCustomPalette(); for (int s = 0; s < poiWorkbook.getNumberOfSheets(); ++s) { Sheet poiSheet = poiWorkbook.getSheetAt(s); SheetFullName sheetName = new SheetFullName(workbookName, getNextFreeSheetName(nxWorkbook, poiSheet.getSheetName())); ISheet nxSheet = null; BlockCellCommandBuilder cellCommandBuilder = new BlockCellCommandBuilder(); try { List<CellReference> refreshCells = new ArrayList<CellReference>(); for (Row poiRow : poiSheet) { if (poiRow.getRowNum() % 100 == 0) { log.info("importing row #" + poiRow.getRowNum()); } for (Cell poiCell : poiRow) { if (nxSheet == null) { // lazy creation while (true) { try { nxSheet = nxWorkbook.addNewSheet(sheetName.getSheetName(), SheetType.normal); nxSheet.setRefreshEnabled(false); break; } catch (AlreadyExistsException e) { // may happen is simultaneous imports take place sheetName = new SheetFullName(workbookName, getNextFreeSheetName(nxWorkbook, poiSheet.getSheetName())); } } } CellReference ref = new CellReference(sheetName.getSheetName(), poiRow.getRowNum(), poiCell.getColumnIndex()); try { ICellCommand cmd = copyCell(poiCell, ref, palette, styleResolver); if (cmd != null) { cellCommandBuilder.command(cmd); } if (poiCell.getCellType() == Cell.CELL_TYPE_FORMULA) { refreshCells.add(ref); } } catch (Exception e) { if (console != null) { console.println("Could import cell " + ref + ":" + poiCell + ":" + e); } log.error("Could import cell " + ref + ":" + poiCell + ":" + e, e); } } if (poiRow.getRowNum() % 100 == 0 && !cellCommandBuilder.isEmpty()) { nxSheet.sendCommandNoUndo(cellCommandBuilder.build()); cellCommandBuilder = new BlockCellCommandBuilder(); } } if (nxSheet == null) { // empty sheet continue; } if (!cellCommandBuilder.isEmpty()) { nxSheet.sendCommandNoUndo(cellCommandBuilder.build()); } // add the columns after as is not very clear how to get the number of cols in poi for (int c = 0; c < nxSheet.getDimensions().getNonBlocking().getColumnCount(); ++c) { int width = 50; try { width = PoiUtils.widthUnits2Pixel(poiSheet.getColumnWidth(c)); nxSheet.sendCommand(ColumnCommands.width(Range.range(c), width)); } catch (NullPointerException ex) { // ignore it // NPE in at org.apache.poi.hssf.model.Sheet.getColumnWidth(Sheet.java:998) // defaultColumnWidth can be null !? } CellStyle poiStyle = poiSheet.getColumnStyle(c); if (poiStyle == null) { continue; } Styles styles = PoiUtils.poiStyle2Netxilia(poiStyle, poiSheet.getWorkbook().getFontAt(poiStyle.getFontIndex()), palette, styleResolver); if (styles != null) { nxSheet.sendCommand(ColumnCommands.styles(Range.range(c), styles)); } } // merge List<AreaReference> spans = new ArrayList<AreaReference>(poiSheet.getNumMergedRegions()); for (int i = 0; i < poiSheet.getNumMergedRegions(); ++i) { CellRangeAddress poiSpan = poiSheet.getMergedRegion(i); spans.add(new AreaReference(sheetName.getSheetName(), poiSpan.getFirstRow(), poiSpan.getFirstColumn(), poiSpan.getLastRow(), poiSpan.getLastColumn())); } nxSheet.sendCommand(SheetCommands.spans(spans)); // refresh all the cells now nxSheet.setRefreshEnabled(true); nxSheet.sendCommandNoUndo(moreCellCommands.refresh(refreshCells, false)); } finally { if (nxSheet != null) { sheetNames.add(sheetName); } } } } catch (IOException e) { throw new ImportException(null, "Cannot open workbook:" + e, e); } catch (StorageException e) { throw new ImportException(null, "Error storing sheet:" + e, e); } catch (NotFoundException e) { throw new ImportException(null, "Cannot find workbook:" + e, e); } catch (NetxiliaResourceException e) { throw new ImportException(null, e.getMessage(), e); } catch (NetxiliaBusinessException e) { throw new ImportException(null, e.getMessage(), e); } return sheetNames; }
From source file:org.netxilia.impexp.impl.PoiUtils.java
License:Open Source License
public static CellStyle netxiliaStyle2Poi(Styles nxStyle, Workbook workbook, CellStyle poiStyle) { if (nxStyle == null) { return poiStyle; }// w w w .j a v a2 s. c o m poiStyle.setWrapText(nxStyle.contains(DefaultStyle.nowrap.getStyle())); // font short bold = nxStyle.contains(DefaultStyle.bold.getStyle()) ? Font.BOLDWEIGHT_BOLD : Font.BOLDWEIGHT_NORMAL; byte underline = nxStyle.contains(DefaultStyle.underline.getStyle()) ? Font.U_SINGLE : Font.U_NONE; boolean italic = nxStyle.contains(DefaultStyle.italic.getStyle()); boolean strikeout = nxStyle.contains(DefaultStyle.strikeout.getStyle()); Font defaultFont = workbook.getFontAt(poiStyle.getFontIndex()); Font font = workbook.findFont(bold, defaultFont.getColor(), defaultFont.getFontHeight(), defaultFont.getFontName(), italic, strikeout, defaultFont.getTypeOffset(), underline); if (font == null) { font = workbook.createFont(); font.setBoldweight(bold); font.setItalic(italic); font.setUnderline(underline); font.setStrikeout(strikeout); } poiStyle.setFont(font); // borders if (nxStyle.contains(DefaultStyle.borderLeft.getStyle())) { poiStyle.setBorderLeft(CellStyle.BORDER_THIN); } if (nxStyle.contains(DefaultStyle.borderRight.getStyle())) { poiStyle.setBorderRight(CellStyle.BORDER_THIN); } if (nxStyle.contains(DefaultStyle.borderTop.getStyle())) { poiStyle.setBorderTop(CellStyle.BORDER_THIN); } if (nxStyle.contains(DefaultStyle.borderBottom.getStyle())) { poiStyle.setBorderBottom(CellStyle.BORDER_THIN); } // align if (nxStyle.contains(DefaultStyle.alignLeft.getStyle())) { poiStyle.setAlignment(CellStyle.ALIGN_LEFT); } else if (nxStyle.contains(DefaultStyle.alignRight.getStyle())) { poiStyle.setAlignment(CellStyle.ALIGN_RIGHT); } else if (nxStyle.contains(DefaultStyle.alignCenter.getStyle())) { poiStyle.setAlignment(CellStyle.ALIGN_CENTER); } else if (nxStyle.contains(DefaultStyle.alignJustify.getStyle())) { poiStyle.setAlignment(CellStyle.ALIGN_JUSTIFY); } return poiStyle; }
From source file:org.tiefaces.components.websheet.utility.CellStyleUtility.java
License:MIT License
/** * Gets the row style.//from www. j a v a 2s . c o m * * @param wb * the wb * @param poiCell * the poi cell * @param inputType * the input type * @param rowHeight * the row height * @param rowspan * the rowspan * @return the row style */ public static String getRowStyle(final Workbook wb, final Cell poiCell, final String inputType, final float rowHeight, final int rowspan) { CellStyle cellStyle = poiCell.getCellStyle(); if ((cellStyle != null) && (rowspan == 1)) { short fontIdx = cellStyle.getFontIndex(); Font font = wb.getFontAt(fontIdx); float maxHeight = rowHeight; if (!inputType.isEmpty()) { maxHeight = Math.min(font.getFontHeightInPoints() + 8f, rowHeight); } return "height:" + WebSheetUtility.pointsToPixels(maxHeight) + "px;"; } return ""; }
From source file:org.tiefaces.components.websheet.utility.CellStyleUtility.java
License:MIT License
/** * Gets the cell font style.//from w ww . ja v a 2 s . c o m * * @param wb * the wb * @param poiCell * the poi cell * @return the cell font style */ public static String getCellFontStyle(final Workbook wb, final Cell poiCell) { CellStyle cellStyle = poiCell.getCellStyle(); StringBuilder webStyle = new StringBuilder(); if (cellStyle != null) { short fontIdx = cellStyle.getFontIndex(); Font font = wb.getFontAt(fontIdx); if (font.getItalic()) { webStyle.append("font-style: italic;"); } if (font.getBold()) { webStyle.append("font-weight: bold;"); } webStyle.append("font-size: " + font.getFontHeightInPoints() + "pt;"); String decoration = getCellFontDecoration(font); if (decoration.length() > 0) { webStyle.append("text-decoration:" + decoration + ";"); } webStyle.append(getCellFontColor(font)); } return webStyle.toString(); }
From source file:ru.icc.cells.ssdc.DataLoader.java
License:Apache License
private void fillCellStyle(CStyle cellStyle, CellStyle excelCellStyle) { Font excelFont = workbook.getFontAt(excelCellStyle.getFontIndex()); // TODO CFont newFont(excelFont) //CFont font = new CFont(); //cellStyle.setFont( font ); CFont font = cellStyle.getFont();/*from w w w. j a va 2 s.co m*/ fillFont(font, excelFont); cellStyle.setHidden(excelCellStyle.getHidden()); cellStyle.setLocked(excelCellStyle.getLocked()); cellStyle.setWrapped(excelCellStyle.getWrapText()); cellStyle.setIndention(excelCellStyle.getIndention()); cellStyle.setRotation(excelCellStyle.getRotation()); cellStyle.setHorzAlignment(this.getHorzAlignment(excelCellStyle.getAlignment())); cellStyle.setVertAlignment(this.getVertAlignment(excelCellStyle.getVerticalAlignment())); CBorder leftBorder = cellStyle.getLeftBorder(); CBorder rightBorder = cellStyle.getRightBorder(); CBorder topBorder = cellStyle.getTopBorder(); CBorder bottomBorder = cellStyle.getBottomBorder(); BorderType lbType = this.convertBorderType(excelCellStyle.getBorderLeft()); BorderType rbType = this.convertBorderType(excelCellStyle.getBorderRight()); BorderType tbType = this.convertBorderType(excelCellStyle.getBorderTop()); BorderType bbType = this.convertBorderType(excelCellStyle.getBorderBottom()); leftBorder.setType(lbType); rightBorder.setType(rbType); topBorder.setType(tbType); bottomBorder.setType(bbType); // "Fill Background Color" ???, ??, // ? ??? . ? . // "Fill Foreground Color" XSSFColor bgColor = (XSSFColor) excelCellStyle.getFillBackgroundColorColor(); // ? Index 64, ? , , // ? ? null ? if (null != bgColor && 64 != bgColor.getIndexed()) { String bgColorHexRGB = bgColor.getARGBHex().substring(2); cellStyle.setBgColor(new CColor(bgColorHexRGB)); } // "Fill Background Color" ??, // ? ??? . XSSFColor fgColor = (XSSFColor) excelCellStyle.getFillForegroundColorColor(); if (null != fgColor && 64 != fgColor.getIndexed()) { String fgColorHexRGB = fgColor.getARGBHex().substring(2); cellStyle.setFgColor(new CColor(fgColorHexRGB)); } // TODO }
From source file:ru.spb.nicetu.tableviewer.server.XlsToHtml.java
License:Apache License
private void fontStyle(CellStyle style, Formatter out, boolean isBuiltIn) { Font font = wb.getFontAt(style.getFontIndex()); if (font.getBoldweight() >= HSSFFont.BOLDWEIGHT_BOLD) styleOut("font-weight", "bold", out, isBuiltIn); if (font.getItalic()) styleOut("font-style", "italic", out, isBuiltIn); if (font.getFontName() != null && !"".equals(font.getFontName())) styleOut("font-family", font.getFontName(), out, isBuiltIn); int fontheight = font.getFontHeightInPoints(); if (fontheight == 9) { //fix for stupid ol Windows fontheight = 10;//from w w w . j av a 2 s. c om } styleOut("font-size", "" + fontheight + "pt", out, isBuiltIn); // Font color is handled with the other colors }
From source file:sol.neptune.elisaboard.service.VPlanToHtml.java
License:Apache License
private void fontStyle(CellStyle style) { Font font = wb.getFontAt(style.getFontIndex()); if (font.getBoldweight() >= HSSFFont.BOLDWEIGHT_NORMAL) { out.format(" font-weight: bold;%n"); }// w w w . jav a2s . c om if (font.getItalic()) { out.format(" font-style: italic;%n"); } int fontheight = font.getFontHeightInPoints(); if (fontheight == 9) { //fix for stupid ol Windows fontheight = 10; } out.format(" font-size: %dpt;%n", fontheight); // Font color is handled with the other colors }
From source file:UI.Helpers.ExcelHelper.java
private static boolean checkStrikeThrough(HSSFCell cell) { CellStyle style = cell.getCellStyle(); HSSFFont cellFont = cell.getSheet().getWorkbook().getFontAt(style.getFontIndex()); boolean isStrikeout = cellFont.getStrikeout(); return isStrikeout; }
From source file:uk.co.certait.test.ExcelToHtmlConverter.java
License:Apache License
private void fontStyle(CellStyle style) { Font font = wb.getFontAt(style.getFontIndex()); if (font.getBold()) { out.format(" font-weight: bold;%n"); }/*from w w w. j ava 2s . c om*/ if (font.getItalic()) { out.format(" font-style: italic;%n"); } int fontheight = font.getFontHeightInPoints(); if (fontheight == 9) { // fix for stupid ol Windows fontheight = 10; } out.format(" font-size: %dpt;%n", fontheight); // Font color is handled with the other colors }
From source file:uk.co.spudsoft.birt.emitters.excel.tests.FontsReportTest.java
License:Open Source License
private void assertFontCell(Sheet sheet, int row, int col, String contents, String fontName, int fontHeight) { Cell cell = sheet.getRow(row).getCell(col); CellStyle style = cell.getCellStyle(); assertEquals(contents, cell.getStringCellValue()); assertEquals(fontName, sheet.getWorkbook().getFontAt(style.getFontIndex()).getFontName().replace("\"", "")); assertEquals(fontHeight, sheet.getWorkbook().getFontAt(style.getFontIndex()).getFontHeightInPoints()); }