List of usage examples for org.apache.poi.ss.usermodel Workbook getSheetIndex
int getSheetIndex(Sheet sheet);
From source file:org.jreserve.gui.poi.ExcelUtil.java
License:Open Source License
public static boolean isReferenceName(Workbook wb, Name name) { return !name.isFunctionName() && !name.isDeleted() && wb.getSheetIndex(name.getNameName()) < 0; }
From source file:org.openmrs.module.mksreports.renderer.PatientHistoryExcelTemplateRenderer.java
License:Open Source License
/** * Clone the sheet at the passed index and replace values as needed */// w ww . j av a 2 s . c o m public Sheet addSheet(Workbook wb, SheetToAdd sheetToAdd, Set<String> usedSheetNames, ReportData reportData, ReportDesign design, Map<String, String> repeatSections) { String prefix = getExpressionPrefix(design); String suffix = getExpressionSuffix(design); Sheet sheet = sheetToAdd.getSheet(); sheet.setForceFormulaRecalculation(true); int sheetIndex = wb.getSheetIndex(sheet); // Configure the sheet name, replacing any values as needed, and ensuring it is unique for the workbook String sheetName = EvaluationUtil.evaluateExpression(sheetToAdd.getOriginalSheetName(), sheetToAdd.getReplacementData(), prefix, suffix).toString(); sheetName = ExcelUtil.formatSheetTitle(sheetName, usedSheetNames); wb.setSheetName(sheetIndex, sheetName); usedSheetNames.add(sheetName); log.debug("Handling sheet: " + sheetName + " at index " + sheetIndex); // Iterate across all of the rows in the sheet, and configure all those that need to be added/cloned List<RowToAdd> rowsToAdd = new ArrayList<RowToAdd>(); int totalRows = sheet.getPhysicalNumberOfRows(); int rowsFound = 0; for (int rowNum = 0; rowsFound < totalRows && rowNum < 50000; rowNum++) { // check for < 50000 is a hack to prevent infinite loops in edge cases Row currentRow = sheet.getRow(rowNum); if (log.isDebugEnabled()) { log.debug("Handling row: " + ExcelUtil.formatRow(currentRow)); } if (currentRow != null) { rowsFound++; } // If we find that the row that we are on is a repeating row, then add the appropriate number of rows to clone String repeatingRowProperty = getRepeatingRowProperty(sheetToAdd.getOriginalSheetNum(), rowNum, repeatSections); if (repeatingRowProperty != null) { String[] dataSetSpanSplit = repeatingRowProperty.split(","); String dataSetName = dataSetSpanSplit[0]; DataSet dataSet = getDataSet(reportData, dataSetName, sheetToAdd.getReplacementData()); int numRowsToRepeat = 1; if (dataSetSpanSplit.length == 2) { numRowsToRepeat = Integer.parseInt(dataSetSpanSplit[1]); } log.debug("Repeating this row with dataset: " + dataSet + " and repeat of " + numRowsToRepeat); int repeatNum = 0; for (DataSetRow dataSetRow : dataSet) { repeatNum++; for (int i = 0; i < numRowsToRepeat; i++) { Row row = (i == 0 ? currentRow : sheet.getRow(rowNum + i)); if (repeatNum == 1 && row != null && row != currentRow) { rowsFound++; } Map<String, Object> newReplacements = getReplacementData(sheetToAdd.getReplacementData(), reportData, design, dataSetName, dataSetRow, repeatNum); rowsToAdd.add(new RowToAdd(row, newReplacements)); if (log.isDebugEnabled()) { log.debug("Adding " + ExcelUtil.formatRow(row) + " with dataSetRow: " + dataSetRow); } } } if (numRowsToRepeat > 1) { rowNum += numRowsToRepeat - 1; } } else { rowsToAdd.add(new RowToAdd(currentRow, sheetToAdd.getReplacementData())); if (log.isDebugEnabled()) { log.debug("Adding row: " + ExcelUtil.formatRow(currentRow)); } } } // Now, go through all of the collected rows, and add them back in for (int i = 0; i < rowsToAdd.size(); i++) { RowToAdd rowToAdd = rowsToAdd.get(i); if (rowToAdd.getRowToClone() != null && rowToAdd.getRowToClone().cellIterator() != null) { Row addedRow = addRow(wb, sheetToAdd, rowToAdd, i, reportData, design, repeatSections); if (log.isDebugEnabled()) { log.debug("Wrote row " + i + ": " + ExcelUtil.formatRow(addedRow)); } } } return sheet; }
From source file:org.soulwing.jawb.poi.ApachePoiCellReference.java
License:Apache License
/** * {@inheritDoc}/*from w ww . ja v a 2s .c om*/ */ @Override public BoundCellReference applyBias(int sheetOffset, int rowOffset, int columnOffset, BoundWorkbook workbook) { Workbook wb = ((ApachePoiWorkbook) workbook).getDelegate(); int sheetIndex = delegate.getSheetName() != null ? wb.getSheetIndex(delegate.getSheetName()) : 0; sheetIndex += sheetOffset; String sheetName = wb.getSheetName(sheetIndex); int rowIndex = delegate.getRow(); if (!delegate.isRowAbsolute()) { rowIndex += rowOffset; } short columnIndex = delegate.getCol(); if (!delegate.isColAbsolute()) { columnIndex += columnOffset; } return new ApachePoiCellReference(new CellReference(sheetName, rowIndex, columnIndex, delegate.isRowAbsolute(), delegate.isColAbsolute())); }
From source file:org.spdx.compare.AbstractFileCompareSheet.java
License:Apache License
/** * @param wb/*from w w w .j a v a 2 s. c o m*/ * @param sheetName */ public static void create(Workbook wb, String sheetName, int columnWidth) { int sheetNum = wb.getSheetIndex(sheetName); if (sheetNum >= 0) { wb.removeSheetAt(sheetNum); } Sheet sheet = wb.createSheet(sheetName); Row row = sheet.createRow(0); CellStyle headerStyle = AbstractSheet.createHeaderStyle(wb); CellStyle defaultStyle = AbstractSheet.createLeftWrapStyle(wb); sheet.setColumnWidth(FILENAME_COL, FILENAME_COL_WIDTH * 256); sheet.setDefaultColumnStyle(FILENAME_COL, defaultStyle); Cell fileNameHeadercell = row.createCell(FILENAME_COL); fileNameHeadercell.setCellStyle(headerStyle); fileNameHeadercell.setCellValue(FILENAME_TITLE); sheet.setColumnWidth(DIFF_COL, DIFF_COL_WIDTH * 256); sheet.setDefaultColumnStyle(DIFF_COL, defaultStyle); Cell diffHeaderCell = row.createCell(DIFF_COL); diffHeaderCell.setCellStyle(headerStyle); diffHeaderCell.setCellValue(DIFF_TITLE); for (int i = FIRST_DOCUMENT_COL; i < MultiDocumentSpreadsheet.MAX_DOCUMENTS + FIRST_DOCUMENT_COL; i++) { sheet.setColumnWidth(i, columnWidth * 256); sheet.setDefaultColumnStyle(i, defaultStyle); Cell cell = row.createCell(i); cell.setCellStyle(headerStyle); } }
From source file:org.spdx.compare.CreatorSheet.java
License:Apache License
/** * @param wb/*from www .j a v a 2s . co m*/ * @param sheetName */ public static void create(Workbook wb, String sheetName) { int sheetNum = wb.getSheetIndex(sheetName); if (sheetNum >= 0) { wb.removeSheetAt(sheetNum); } Sheet sheet = wb.createSheet(sheetName); CellStyle headerStyle = AbstractSheet.createHeaderStyle(wb); CellStyle defaultStyle = AbstractSheet.createLeftWrapStyle(wb); Row row = sheet.createRow(0); for (int i = 0; i < MultiDocumentSpreadsheet.MAX_DOCUMENTS; i++) { sheet.setColumnWidth(i, COL_WIDTH * 256); sheet.setDefaultColumnStyle(i, defaultStyle); Cell cell = row.createCell(i); cell.setCellStyle(headerStyle); } }
From source file:org.spdx.compare.DocumentAnnotationSheet.java
License:Apache License
/** * @param wb//from w w w . j a v a 2s . c o m * @param sheetName */ public static void create(Workbook wb, String sheetName) { int sheetNum = wb.getSheetIndex(sheetName); if (sheetNum >= 0) { wb.removeSheetAt(sheetNum); } Sheet sheet = wb.createSheet(sheetName); CellStyle headerStyle = AbstractSheet.createHeaderStyle(wb); CellStyle defaultStyle = AbstractSheet.createLeftWrapStyle(wb); Row row = sheet.createRow(0); sheet.setColumnWidth(ANNOTATOR_COL, ANNOTATOR_COL_WIDTH * 256); sheet.setDefaultColumnStyle(ANNOTATOR_COL, defaultStyle); Cell annotatorHeaderCell = row.createCell(ANNOTATOR_COL); annotatorHeaderCell.setCellStyle(headerStyle); annotatorHeaderCell.setCellValue(ANNOTATOR_COL_TEXT_TITLE); sheet.setColumnWidth(TYPE_COL, TYPE_COL_WIDTH * 256); sheet.setDefaultColumnStyle(TYPE_COL, defaultStyle); Cell typeHeaderCell = row.createCell(TYPE_COL); typeHeaderCell.setCellStyle(headerStyle); typeHeaderCell.setCellValue(TYPE_COL_TEXT_TITLE); sheet.setColumnWidth(COMMENT_COL, COMMENT_COL_WIDTH * 256); sheet.setDefaultColumnStyle(COMMENT_COL, defaultStyle); Cell commentHeaderCell = row.createCell(COMMENT_COL); commentHeaderCell.setCellStyle(headerStyle); commentHeaderCell.setCellValue(COMMENT_COL_TEXT_TITLE); for (int i = FIRST_DATE_COL; i < MultiDocumentSpreadsheet.MAX_DOCUMENTS; i++) { sheet.setColumnWidth(i, DATE_COL_WIDTH * 256); sheet.setDefaultColumnStyle(i, defaultStyle); Cell cell = row.createCell(i); cell.setCellStyle(headerStyle); } }
From source file:org.spdx.compare.DocumentRelationshipSheet.java
License:Apache License
/** * @param wb//from ww w . jav a 2s. co m * @param sheetName */ public static void create(Workbook wb, String sheetName) { int sheetNum = wb.getSheetIndex(sheetName); if (sheetNum >= 0) { wb.removeSheetAt(sheetNum); } Sheet sheet = wb.createSheet(sheetName); CellStyle headerStyle = AbstractSheet.createHeaderStyle(wb); CellStyle defaultStyle = AbstractSheet.createLeftWrapStyle(wb); Row row = sheet.createRow(0); sheet.setColumnWidth(TYPE_COL, TYPE_COL_WIDTH * 256); sheet.setDefaultColumnStyle(TYPE_COL, defaultStyle); Cell typeHeaderCell = row.createCell(TYPE_COL); typeHeaderCell.setCellStyle(headerStyle); typeHeaderCell.setCellValue(TYPE_COL_TEXT_TITLE); for (int i = FIRST_RELATIONSHIP_COL; i < MultiDocumentSpreadsheet.MAX_DOCUMENTS; i++) { sheet.setColumnWidth(i, FIRST_RELATIONSHIP_COL_WIDTH * 256); sheet.setDefaultColumnStyle(i, defaultStyle); Cell cell = row.createCell(i); cell.setCellStyle(headerStyle); } }
From source file:org.spdx.compare.DocumentSheet.java
License:Apache License
/** * @param wb// ww w . ja va 2 s. co m * @param sheetName */ public static void create(Workbook wb, String sheetName) { int sheetNum = wb.getSheetIndex(sheetName); if (sheetNum >= 0) { wb.removeSheetAt(sheetNum); } Sheet sheet = wb.createSheet(sheetName); CellStyle headerStyle = AbstractSheet.createHeaderStyle(wb); CellStyle defaultStyle = AbstractSheet.createLeftWrapStyle(wb); Row row = sheet.createRow(0); for (int i = 0; i < HEADER_TITLES.length; i++) { sheet.setColumnWidth(i, COLUMN_WIDTHS[i] * 256); sheet.setDefaultColumnStyle(i, defaultStyle); Cell cell = row.createCell(i); cell.setCellStyle(headerStyle); cell.setCellValue(HEADER_TITLES[i]); } }
From source file:org.spdx.compare.ExternalReferencesSheet.java
License:Apache License
/** * @param wb/* w ww . j a v a 2s.c o m*/ * @param sheetName */ public static void create(Workbook wb, String sheetName) { int sheetNum = wb.getSheetIndex(sheetName); if (sheetNum >= 0) { wb.removeSheetAt(sheetNum); } Sheet sheet = wb.createSheet(sheetName); CellStyle headerStyle = AbstractSheet.createHeaderStyle(wb); CellStyle defaultStyle = AbstractSheet.createLeftWrapStyle(wb); Row row = sheet.createRow(0); sheet.setColumnWidth(NAMESPACE_COL, NAMESPACE_COL_WIDTH * 256); sheet.setDefaultColumnStyle(NAMESPACE_COL, defaultStyle); Cell extractedHeaderCell = row.createCell(NAMESPACE_COL); extractedHeaderCell.setCellStyle(headerStyle); extractedHeaderCell.setCellValue(NAMESPACE_TEXT_TITLE); sheet.setColumnWidth(CHECKSUM_COL, CHECKSUM_COL_WIDTH * 256); sheet.setDefaultColumnStyle(CHECKSUM_COL, defaultStyle); Cell checksumHeaderCell = row.createCell(CHECKSUM_COL); checksumHeaderCell.setCellStyle(headerStyle); checksumHeaderCell.setCellValue(CHECKSUM_TEXT_TITLE); for (int i = FIRST_DOC_ID_COL; i < MultiDocumentSpreadsheet.MAX_DOCUMENTS; i++) { sheet.setColumnWidth(i, DOC_ID_COL_WIDTH * 256); sheet.setDefaultColumnStyle(i, defaultStyle); Cell cell = row.createCell(i); cell.setCellStyle(headerStyle); } }
From source file:org.spdx.compare.ExtractedLicenseSheet.java
License:Apache License
/** * @param wb//from w ww.ja va 2 s . com * @param sheetName */ public static void create(Workbook wb, String sheetName) { int sheetNum = wb.getSheetIndex(sheetName); if (sheetNum >= 0) { wb.removeSheetAt(sheetNum); } Sheet sheet = wb.createSheet(sheetName); CellStyle headerStyle = AbstractSheet.createHeaderStyle(wb); CellStyle defaultStyle = AbstractSheet.createLeftWrapStyle(wb); Row row = sheet.createRow(0); sheet.setColumnWidth(EXTRACTED_TEXT_COL, EXTRACTED_TEXT_WIDTH * 256); sheet.setDefaultColumnStyle(EXTRACTED_TEXT_COL, defaultStyle); Cell extractedHeaderCell = row.createCell(EXTRACTED_TEXT_COL); extractedHeaderCell.setCellStyle(headerStyle); extractedHeaderCell.setCellValue(EXTRACTED_TEXT_TITLE); for (int i = FIRST_LIC_ID_COL; i < MultiDocumentSpreadsheet.MAX_DOCUMENTS; i++) { sheet.setColumnWidth(i, LIC_ID_COL_WIDTH * 256); sheet.setDefaultColumnStyle(i, defaultStyle); Cell cell = row.createCell(i); cell.setCellStyle(headerStyle); } }