List of usage examples for org.apache.poi.xssf.usermodel XSSFRichTextString numFormattingRuns
public int numFormattingRuns()
From source file:org.pentaho.reporting.engine.classic.core.layout.complextext.RichTextRenderingIT.java
License:Open Source License
@Test public void testExcelRendering() throws Exception { URL resource = getClass().getResource("rich-text-sample1.prpt"); ResourceManager mgr = new ResourceManager(); MasterReport report = (MasterReport) mgr.createDirectly(resource, MasterReport.class).getResource(); report.getReportConfiguration().setConfigProperty(ClassicEngineCoreModule.COMPLEX_TEXT_CONFIG_OVERRIDE_KEY, "true"); report.getReportHeader().getElement(0).getStyle().setStyleProperty(TextStyleKeys.DIRECTION, TextDirection.LTR);/*from w w w. j av a 2 s .c o m*/ report.getReportHeader().getElement(1).getStyle().setStyleProperty(TextStyleKeys.DIRECTION, TextDirection.RTL); report.getReportHeader().removeElement(0); report.getReportHeader().getStyle().setStyleProperty(ElementStyleKeys.BACKGROUND_COLOR, Color.YELLOW); report.getReportFooter().clear(); LogicalPageBox logicalPageBox = DebugReportRunner.layoutPage(report, 0); RenderNode second = MatchFactory.findElementByName(logicalPageBox, "second"); assertTrue(second instanceof RenderBox); ExcelOutputProcessorMetaData metaData = new ExcelOutputProcessorMetaData( ExcelOutputProcessorMetaData.PAGINATION_FULL); metaData.initialize(report.getConfiguration()); XSSFWorkbook hssfWorkbook = new XSSFWorkbook(); ExcelColorProducer colorProducer = new StaticExcelColorSupport(); ExcelFontFactory ff = new ExcelFontFactory(hssfWorkbook, colorProducer); CreationHelper ch = hssfWorkbook.getCreationHelper(); ExcelTextExtractor te = new ExcelTextExtractor(metaData, colorProducer, ch, ff); Object compute = te.compute((RenderBox) second); assertTrue(compute instanceof RichTextString); XSSFRichTextString rt = (XSSFRichTextString) compute; assertEquals(4, rt.numFormattingRuns()); }
From source file:org.pentaho.reporting.engine.classic.core.layout.complextext.RichTextRenderingIT.java
License:Open Source License
@Test public void testFastExcelRendering() throws Exception { URL resource = getClass().getResource("rich-text-sample1.prpt"); ResourceManager mgr = new ResourceManager(); MasterReport report = (MasterReport) mgr.createDirectly(resource, MasterReport.class).getResource(); report.getReportConfiguration().setConfigProperty(ClassicEngineCoreModule.COMPLEX_TEXT_CONFIG_OVERRIDE_KEY, "true"); report.getReportHeader().getElement(0).getStyle().setStyleProperty(TextStyleKeys.DIRECTION, TextDirection.LTR);/*from ww w . jav a 2 s . c o m*/ report.getReportHeader().getElement(1).getStyle().setStyleProperty(TextStyleKeys.DIRECTION, TextDirection.RTL); report.getReportHeader().removeElement(0); report.getReportHeader().getStyle().setStyleProperty(ElementStyleKeys.BACKGROUND_COLOR, Color.YELLOW); report.getReportFooter().clear(); ExpressionRuntime runtime = new GenericExpressionRuntime(new DefaultTableModel(), 0, new DefaultProcessingContext(report)); RichTextStyleResolver resolver = new RichTextStyleResolver(runtime.getProcessingContext(), report); resolver.resolveRichTextStyle(report); XSSFWorkbook hssfWorkbook = new XSSFWorkbook(); ExcelColorProducer colorProducer = new StaticExcelColorSupport(); ExcelFontFactory ff = new ExcelFontFactory(hssfWorkbook, colorProducer); CreationHelper ch = hssfWorkbook.getCreationHelper(); FastExcelTextExtractor te = new FastExcelTextExtractor(colorProducer, ff, ch); Element element = report.getReportHeader().getElement(0); Object compute = te.compute(element, runtime); assertTrue(compute instanceof RichTextString); XSSFRichTextString rt = (XSSFRichTextString) compute; assertEquals(4, rt.numFormattingRuns()); }
From source file:org.pentaho.reporting.engine.classic.core.layout.complextext.RichTextRenderingTest.java
License:Open Source License
@Test public void testFastExcelRendering() throws Exception { URL resource = getClass().getResource("rich-text-sample1.prpt"); ResourceManager mgr = new ResourceManager(); MasterReport report = (MasterReport) mgr.createDirectly(resource, MasterReport.class).getResource(); report.getReportConfiguration().setConfigProperty(ClassicEngineCoreModule.COMPLEX_TEXT_CONFIG_OVERRIDE_KEY, "true"); report.getReportHeader().getElement(0).getStyle().setStyleProperty(TextStyleKeys.DIRECTION, TextDirection.LTR);//ww w.j a v a 2s . com report.getReportHeader().getElement(1).getStyle().setStyleProperty(TextStyleKeys.DIRECTION, TextDirection.RTL); report.getReportHeader().removeElement(0); report.getReportHeader().getStyle().setStyleProperty(ElementStyleKeys.BACKGROUND_COLOR, Color.YELLOW); report.getReportFooter().clear(); ExpressionRuntime runtime = new GenericExpressionRuntime(new DefaultTableModel(), 0, new DefaultProcessingContext(report)); RichTextStyleResolver.resolveStyle(report); XSSFWorkbook hssfWorkbook = new XSSFWorkbook(); ExcelColorProducer colorProducer = new StaticExcelColorSupport(); ExcelFontFactory ff = new ExcelFontFactory(hssfWorkbook, colorProducer); CreationHelper ch = hssfWorkbook.getCreationHelper(); FastExcelTextExtractor te = new FastExcelTextExtractor(colorProducer, ff, ch); Element element = report.getReportHeader().getElement(0); Object compute = te.compute(element, runtime); assertTrue(compute instanceof RichTextString); XSSFRichTextString rt = (XSSFRichTextString) compute; assertEquals(4, rt.numFormattingRuns()); }
From source file:ru.icc.cells.ssdc.DataLoader.java
License:Apache License
private boolean hasSuperscriptText(Cell excelCell) { if (excelCell.getCellType() != Cell.CELL_TYPE_STRING) return false; RichTextString richTextString = excelCell.getRichStringCellValue(); if (null == richTextString) return false; int index = 0; int length = 0; XSSFFont font = null;/*w w w. ja va 2 s. com*/ XSSFRichTextString rts = (XSSFRichTextString) richTextString; XSSFWorkbook wb = (XSSFWorkbook) workbook; XSSFCellStyle style = ((XSSFCell) excelCell).getCellStyle(); font = style.getFont(); String richText = rts.getString(); if (rts.numFormattingRuns() > 1) { for (int i = 0; i < rts.numFormattingRuns(); i++) { index = rts.getIndexOfFormattingRun(i); length = rts.getLengthOfFormattingRun(i); try { font = rts.getFontOfFormattingRun(i); } catch (NullPointerException e) { font = wb.getFontAt(XSSFFont.DEFAULT_CHARSET); font.setTypeOffset(XSSFFont.SS_NONE); } String s = richText.substring(index, index + length); if (font.getTypeOffset() == XSSFFont.SS_SUPER) return true; } } else { if (font.getTypeOffset() == XSSFFont.SS_SUPER) return true; } return false; }
From source file:ru.icc.cells.ssdc.DataLoader.java
License:Apache License
private String getNotSuperscriptText(Cell excelCell) { if (excelCell.getCellType() != Cell.CELL_TYPE_STRING) return null; RichTextString richTextString = excelCell.getRichStringCellValue(); if (null == richTextString) return null; int index;//w w w . ja v a 2 s.c om int length; String text; XSSFRichTextString rts = (XSSFRichTextString) richTextString; XSSFWorkbook wb = (XSSFWorkbook) workbook; XSSFCellStyle style = ((XSSFCell) excelCell).getCellStyle(); XSSFFont font = style.getFont(); String richText = rts.getString(); StringBuilder notSuperscriptRuns = new StringBuilder(); if (rts.numFormattingRuns() > 1) { boolean wasNotSuperscriptRun = false; for (int i = 0; i < rts.numFormattingRuns(); i++) { index = rts.getIndexOfFormattingRun(i); length = rts.getLengthOfFormattingRun(i); try { font = rts.getFontOfFormattingRun(i); } catch (NullPointerException e) { font = wb.getFontAt(XSSFFont.DEFAULT_CHARSET); font.setTypeOffset(XSSFFont.SS_NONE); } String s = richText.substring(index, index + length); if (font.getTypeOffset() == XSSFFont.SS_SUPER) { if (wasNotSuperscriptRun) notSuperscriptRuns.append(" "); wasNotSuperscriptRun = false; } else { notSuperscriptRuns.append(s); wasNotSuperscriptRun = true; } } text = notSuperscriptRuns.toString(); } else { if (font.getTypeOffset() == XSSFFont.SS_SUPER) text = null; else text = richText; } return text; }