_uBook = book;
_iBook = book.getWorkbook();
}
+
+ @Override
+ public HSSFName createName() {
+ return _uBook.createName();
+ }
public int getExternalSheetIndex(String sheetName) {
int sheetIndex = _uBook.getSheetIndex(sheetName);
int extIx = getSheetExtIx(sheet);
return new Area3DPtg(areaRef, extIx);
}
+ /**
+ * Return an external name (named range, function, user-defined function) Ptg
+ */
+ @Override
public NameXPtg getNameXPtg(String name, SheetIdentifier sheet) {
int sheetRefIndex = getSheetExtIx(sheet);
return _iBook.getNameXPtg(name, sheetRefIndex, _uBook.getUDFFinder());
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.ptg.Ptg;
+import org.apache.poi.ss.usermodel.Name;
import org.apache.poi.ss.util.AreaReference;
import org.apache.poi.ss.util.CellReference;
* named range name matching is case insensitive
*/
EvaluationName getName(String name, int sheetIndex);
+
+ /**
+ * Return the underlying workbook
+ */
+ Name createName();
+ /**
+ * Return an external name (named range, function, user-defined function) Ptg
+ */
Ptg getNameXPtg(String name, SheetIdentifier sheet);
/**
public NameXPxg(String sheetName, String nameName) {
this(-1, sheetName, nameName);
}
+ public NameXPxg(String nameName) {
+ this(-1, null, nameName);
+ }
public String toString(){
StringBuffer sb = new StringBuffer();
}
}
+ /**
+ * Return EvaluationName wrapper around the matching XSSFName (named range)
+ * @param name case-aware but case-insensitive named range in workbook
+ * @param sheetIndex index of sheet if named range scope is limited to one sheet
+ * if named range scope is global to the workbook, sheetIndex is -1.
+ * @return If name is a named range in the workbook, returns
+ * EvaluationName corresponding to that named range
+ * Returns null if there is no named range with the same name and scope in the workbook
+ */
public EvaluationName getName(String name, int sheetIndex) {
for (int i = 0; i < _uBook.getNumberOfNames(); i++) {
XSSFName nm = _uBook.getNameAt(i);
int nameSheetindex = nm.getSheetIndex();
if (name.equalsIgnoreCase(nameText) &&
(nameSheetindex == -1 || nameSheetindex == sheetIndex)) {
- return new Name(_uBook.getNameAt(i), i, this);
+ return new Name(nm, i, this);
}
}
return sheetIndex == -1 ? null : getName(name, -1);
}
+ /**
+ * Return an external name (named range, function, user-defined function) Pxg
+ */
+ @Override
public NameXPxg getNameXPtg(String name, SheetIdentifier sheet) {
// First, try to find it as a User Defined Function
IndexedUDFFinder udfFinder = (IndexedUDFFinder)getUDFFinder();
int ix = namePtg.getIndex();
return new Name(_uBook.getNameAt(ix), ix, this);
}
+ @Override
+ public XSSFName createName() {
+ return _uBook.createName();
+ }
public UDFFinder getUDFFinder(){
return _uBook.getUDFFinder();