List of usage examples for org.apache.poi.ss.usermodel Workbook getNameIndex
@Deprecated @Removal(version = "3.20") int getNameIndex(String name);
From source file:edu.vt.owml.saurav.raininterpolation.debug.NewMain.java
License:Open Source License
/** * @param args the command line arguments *//*from www .jav a 2 s. c om*/ public static void main(String[] args) { try { Workbook wb; wb = WorkbookFactory.create(NewMain.class.getResourceAsStream("/unit_test.xlsx")); // retrieve the named range String cellname = "stations"; int namedCellIdx = wb.getNameIndex(cellname); Name aNamedCell = wb.getNameAt(namedCellIdx); // retrieve the cell at the named range and test its contents AreaReference aref = new AreaReference(aNamedCell.getRefersToFormula()); CellReference[] crefs = (CellReference[]) aref.getAllReferencedCells(); int index = 0; int columns = 2; double[][] stations = new double[(int) crefs.length / columns][2]; for (CellReference cref : crefs) { Sheet s = wb.getSheet(cref.getSheetName()); Row r = s.getRow(cref.getRow()); Cell c = r.getCell(cref.getCol()); System.out.println(c.getNumericCellValue()); //2 col array stations[(int) (index / columns)][index % columns] = c.getNumericCellValue(); index++; } printArray(stations); //rain cellname = "gridpts"; namedCellIdx = wb.getNameIndex(cellname); aNamedCell = wb.getNameAt(namedCellIdx); // retrieve the cell at the named range and test its contents aref = new AreaReference(aNamedCell.getRefersToFormula()); crefs = (CellReference[]) aref.getAllReferencedCells(); index = 0; columns = 2; double[][] locations = new double[(int) crefs.length / columns][2]; for (CellReference cref : crefs) { Sheet s = wb.getSheet(cref.getSheetName()); Row r = s.getRow(cref.getRow()); Cell c = r.getCell(cref.getCol()); System.out.println(c.getNumericCellValue()); //2 col array locations[(int) (index / columns)][index % columns] = c.getNumericCellValue(); index++; } printArray(locations); //rain cellname = "rainVal"; namedCellIdx = wb.getNameIndex(cellname); aNamedCell = wb.getNameAt(namedCellIdx); // retrieve the cell at the named range and test its contents aref = new AreaReference(aNamedCell.getRefersToFormula()); crefs = (CellReference[]) aref.getAllReferencedCells(); index = 0; double[] rainValues = new double[crefs.length]; for (CellReference cref : crefs) { Sheet s = wb.getSheet(cref.getSheetName()); Row r = s.getRow(cref.getRow()); Cell c = r.getCell(cref.getCol()); System.out.println(c.getNumericCellValue()); //2 col array rainValues[index] = c.getNumericCellValue(); index++; } printArray(rainValues); //vals cellname = "estimates"; namedCellIdx = wb.getNameIndex(cellname); aNamedCell = wb.getNameAt(namedCellIdx); // retrieve the cell at the named range and test its contents aref = new AreaReference(aNamedCell.getRefersToFormula()); crefs = (CellReference[]) aref.getAllReferencedCells(); index = 0; double[] vals = new double[crefs.length]; for (CellReference cref : crefs) { Sheet s = wb.getSheet(cref.getSheetName()); Row r = s.getRow(cref.getRow()); Cell c = r.getCell(cref.getCol()); System.out.println(c.getNumericCellValue()); //2 col array vals[index] = c.getNumericCellValue(); index++; } printArray(vals); //distances cellname = "distances"; namedCellIdx = wb.getNameIndex(cellname); aNamedCell = wb.getNameAt(namedCellIdx); // retrieve the cell at the named range and test its contents aref = new AreaReference(aNamedCell.getRefersToFormula()); crefs = (CellReference[]) aref.getAllReferencedCells(); index = 0; columns = stations.length; double[] d = new double[stations.length]; List<double[]> distances = new ArrayList(); for (CellReference cref : crefs) { Sheet s = wb.getSheet(cref.getSheetName()); Row r = s.getRow(cref.getRow()); Cell c = r.getCell(cref.getCol()); System.out.println(c.getNumericCellValue()); d[index % columns] = c.getNumericCellValue(); if (index % columns == columns - 1) { distances.add(d); d = new double[stations.length]; } index++; } printArray(distances); IDWInterpolator idw = new IDWInterpolator(); // printArray(idw.getDistances(stations, locations)); } catch (FileNotFoundException ex) { Logger.getLogger(NewMain.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException | InvalidFormatException ex) { Logger.getLogger(NewMain.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:org.centralperf.helper.view.ExcelOOXMLView.java
License:Open Source License
/** * Retrieve a cell in workbook by its name * @param cellName The name of the cell * @param workbook The workbook/*from ww w . j a v a2 s. c o m*/ * @return the cell found, null if multiple cells or not found */ private Cell getCellByName(String cellName, Workbook workbook) { int namedCellIdx = workbook.getNameIndex(cellName); Name aNamedCell = workbook.getNameAt(namedCellIdx); // retrieve the cell at the named range and test its contents AreaReference aref = new AreaReference(aNamedCell.getRefersToFormula()); if (aref.isSingleCell()) { CellReference cref = aref.getFirstCell(); Sheet s = workbook.getSheet(cref.getSheetName()); Row r = s.getRow(cref.getRow()); Cell c = r.getCell(cref.getCol()); return c; } return null; }