List of usage examples for org.apache.poi.ss.usermodel Workbook getNumberOfNames
int getNumberOfNames();
From source file:com.canoo.webtest.plugins.exceltest.ExcelStructureFilter.java
License:Open Source License
public void doExecute() throws Exception { final Workbook excelWorkbook = getExcelWorkbook(); final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); final Document doc = builder.newDocument(); final Element root = doc.createElement("excelWorkbook"); doc.appendChild(root);//from ww w . ja v a2s . c o m //root.setAttribute("backup", String.valueOf(excelWorkbook.getBackupFlag())); root.setAttribute("backup", String.valueOf(Boolean.FALSE)); root.setAttribute("numberOfFonts", String.valueOf(excelWorkbook.getNumberOfFonts())); root.setAttribute("numberOfCellStyles", String.valueOf(excelWorkbook.getNumCellStyles())); root.setAttribute("numberOfNames", String.valueOf(excelWorkbook.getNumberOfNames())); final Element sheets = doc.createElement("sheets"); for (int i = 0; i < excelWorkbook.getNumberOfSheets(); i++) { final Sheet sheetAt = excelWorkbook.getSheetAt(i); final Element sheetElement = doc.createElement("sheet"); sheetElement.setAttribute("index", String.valueOf(i)); sheetElement.setAttribute("name", excelWorkbook.getSheetName(i)); sheetElement.setAttribute("firstRow", String.valueOf(sheetAt.getFirstRowNum())); sheetElement.setAttribute("lastRow", String.valueOf(sheetAt.getLastRowNum())); sheetElement.setAttribute("physicalRows", String.valueOf(sheetAt.getPhysicalNumberOfRows())); sheetElement.setAttribute("defaultRowHeight", String.valueOf(sheetAt.getDefaultRowHeight())); sheetElement.setAttribute("defaultColumnWidth", String.valueOf(sheetAt.getDefaultColumnWidth())); sheetElement.setAttribute("fitToPage", String.valueOf(sheetAt.getFitToPage())); sheets.appendChild(sheetElement); } root.appendChild(sheets); final StringWriter sw = new StringWriter(); writeXmlFile(doc, sw); ContextHelper.defineAsCurrentResponse(getContext(), sw.toString(), "text/xml", getClass()); }
From source file:com.dataart.spreadsheetanalytics.engine.DataModelConverters.java
License:Apache License
/** * For given {@link Workbook} does convert everything to new {@link DataModel} structure. * Does copy all supported fields (for supported fields see {@link DataModel} class. *//* w w w .j a v a 2 s . c o m*/ static IDataModel toDataModel(final Workbook workbook) { if (workbook == null) { return null; } //add custom functions information workbook.addToolPack(getUdfFinder()); Sheet s = workbook.getSheetAt(0); //TODO: only one sheet is supported if (s == null) { return null; } IDataModel dm = new DataModel(s.getSheetName()); for (int i = s.getFirstRowNum(); i <= s.getLastRowNum(); i++) { Row r = s.getRow(i); if (r == null) { continue; } DmRow row = new DmRow(i); dm.setRow(i, row); for (int j = r.getFirstCellNum(); j < r.getLastCellNum(); j++) { Cell c = r.getCell(j); if (c == null) { continue; } DmCell cell = new DmCell(); row.setCell(j, cell); cell.setAddress(new CellAddress(dm.getDataModelId(), A1Address.fromRowColumn(i, j))); cell.setContent(ConverterUtils.resolveCellValue(c)); } } EvaluationWorkbook evaluationWbook = ConverterUtils.newEvaluationWorkbook(workbook); for (int nIdx = 0; nIdx < workbook.getNumberOfNames(); nIdx++) { Name name = workbook.getNameAt(nIdx); String reference = name.getRefersToFormula(); if (reference == null) { continue; } if (A1Address.isAddress(removeSheetFromNameRef(reference))) { dm.setNamedAddress(name.getNameName(), A1Address.fromA1Address(removeSheetFromNameRef(reference))); } else if (isFormula(reference, evaluationWbook)) { dm.setNamedValue(name.getNameName(), new CellValue(FORMULA_PREFIX + reference)); } else { dm.setNamedValue(name.getNameName(), CellValue.from(reference)); } } return dm; }
From source file:com.dataart.spreadsheetanalytics.engine.PoiWorkbookConverters.java
License:Apache License
private Map<Integer, PoiProxyName> makeNames(Workbook wb, EvaluationWorkbook ewb) { Map<Integer, PoiProxyName> names = new HashMap<>(); for (int nIdx = 0; nIdx < wb.getNumberOfNames(); nIdx++) { Name wbName = wb.getNameAt(nIdx); Ptg[] ptgs;//w ww .ja v a 2 s. co m String refersToFormula; if (!wbName.isFunctionName() && wbName.getRefersToFormula() != null) { //NOPMD refersToFormula = wbName.getRefersToFormula(); ptgs = FormulaParser.parse(refersToFormula, (FormulaParsingWorkbook) ewb, FormulaType.NAMEDRANGE, 0 /*TODO: sheet index*/); } else { ptgs = null; refersToFormula = null; } names.put(nIdx, new PoiProxyName(wbName.getNameName(), wbName.isFunctionName(), refersToFormula != null, ptgs, wbName.isFunctionName(), nIdx)); } return names; }
From source file:com.dataart.spreadsheetanalytics.engine.SpreadsheetAuditor.java
License:Apache License
public static Map<String, String> getWorkbookNames(Workbook workbook) { Map<String, String> result = new HashMap<>(workbook.getNumberOfNames()); for (int i = 0; i < workbook.getNumberOfNames(); i++) { Name name = workbook.getNameAt(i); result.put(name.getNameName(), name.getRefersToFormula()); }//from w w w. java 2 s. co m return result; }
From source file:org.formulacompiler.spreadsheet.internal.excel.xls.loader.ExcelXLSLoader.java
License:Open Source License
private void loadNames(Workbook _xlsWorkbook, BaseSpreadsheet _spreadsheet) { final int numberOfNames = _xlsWorkbook.getNumberOfNames(); for (int nameIndex = 0; nameIndex < numberOfNames; nameIndex++) { final Name name = _xlsWorkbook.getNameAt(nameIndex); if (name.isFunctionName()) continue; final String cellRangeAddress = name.getRefersToFormula(); final String rangeName = name.getNameName(); final ExpressionParser parser = new SpreadsheetExpressionParserA1OOXML(cellRangeAddress, _spreadsheet); try {// ww w .j a va 2 s. c o m final CellRange cellRange = (CellRange) parser.rangeOrCellRefA1(); _spreadsheet.defineModelRangeName(rangeName, cellRange); } catch (ParseException e) { // Ignore all non 'named range' names } } }
From source file:org.formulacompiler.spreadsheet.internal.excel.xls.saver.ExcelXLSSaver.java
License:Open Source License
private void removeDataFrom(final Workbook _xwb) { for (int i = _xwb.getNumberOfSheets() - 1; i >= 0; i--) { _xwb.removeSheetAt(i);//from w ww. ja va 2 s. c o m } for (int i = 0; i < _xwb.getNumberOfNames(); i++) { _xwb.removeName(i); } }
From source file:org.jreserve.gui.poi.ExcelUtil.java
License:Open Source License
public static List<Name> getReferenceNames(Workbook wb) { int size = wb.getNumberOfNames(); List<Name> result = new ArrayList<Name>(size); for (int i = 0; i < size; i++) { Name name = wb.getNameAt(i); if (isReferenceName(wb, name)) result.add(name);/*from www.j a va 2s. co m*/ } return result; }