本文整理汇总了Java中org.apache.poi.ss.usermodel.Name.getRefersToFormula方法的典型用法代码示例。如果您正苦于以下问题:Java Name.getRefersToFormula方法的具体用法?Java Name.getRefersToFormula怎么用?Java Name.getRefersToFormula使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.poi.ss.usermodel.Name
的用法示例。
在下文中一共展示了Name.getRefersToFormula方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createName
import org.apache.poi.ss.usermodel.Name; //导入方法依赖的package包/类
protected void createName(HandlerState state, String bookmark, int row1, int col1, int row2, int col2 ) {
CellReference crFirst = new CellReference( state.currentSheet.getSheetName(), row1, col1, true, true );
CellReference crLast = new CellReference( row2, col2, true, true );
String formula = crFirst.formatAsString() + ":" + crLast.formatAsString();
Name name = state.currentSheet.getWorkbook().getName(bookmark);
if( name == null ) {
name = state.currentSheet.getWorkbook().createName();
name.setNameName( bookmark );
name.setRefersToFormula( formula );
} else {
String existingFormula = name.getRefersToFormula();
try {
name.setRefersToFormula(existingFormula + "," + formula);
} catch( FormulaParseException ex ) {
log.warn( 0, "Unable to add \"" + formula + "\" to name (\"" + bookmark + "\") with existing formula: " + existingFormula, ex );
}
}
}
示例2: makeNames
import org.apache.poi.ss.usermodel.Name; //导入方法依赖的package包/类
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;
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;
}
示例3: validateNamedRange
import org.apache.poi.ss.usermodel.Name; //导入方法依赖的package包/类
private void validateNamedRange( Workbook workbook, int index, String name, int sheetIndex, int row1, int col1, int row2, int col2 ) {
Name namedRange = workbook.getNameAt(index);
assertEquals( name,namedRange.getNameName() );
assertEquals( sheetIndex, namedRange.getSheetIndex() );
AreaReference ref = new AreaReference( namedRange.getRefersToFormula() );
if( ( row1 == row2 ) && ( col1 == col2 ) ) {
assertTrue( ref.isSingleCell() );
assertEquals( row1, ref.getFirstCell().getRow() );
assertEquals( col1, ref.getFirstCell().getCol() );
} else {
assertTrue( AreaReference.isContiguous( namedRange.getRefersToFormula() ) );
assertEquals( row1, Math.min( ref.getFirstCell().getRow(), ref.getLastCell().getRow() ) );
assertEquals( col1, Math.min( ref.getFirstCell().getCol(), ref.getLastCell().getCol() ) );
assertEquals( row2, Math.max( ref.getFirstCell().getRow(), ref.getLastCell().getRow() ) );
assertEquals( col2, Math.max( ref.getFirstCell().getCol(), ref.getLastCell().getCol() ) );
}
}
示例4: isOverlapped
import org.apache.poi.ss.usermodel.Name; //导入方法依赖的package包/类
public boolean isOverlapped(Name name) {
String ref = name.getRefersToFormula();
int idx = ref.indexOf('!');
if (idx != -1) {
ref = ref.substring(idx + 1);
}
AreaReference area = new AreaReference(ref);
CellReference topLeft = area.getFirstCell();
CellReference bottomRight = area.getLastCell();
CellRangeAddress cra = new CellRangeAddress(
topLeft.getRow(), bottomRight.getRow(),
topLeft.getCol(), bottomRight.getCol()
);
return isOverlapped(cra);
}
示例5: getCellReference
import org.apache.poi.ss.usermodel.Name; //导入方法依赖的package包/类
public static CellReference getCellReference(Workbook wb, String ref) {
Name name = wb.getName(ref);
if(name != null)
ref = name.getRefersToFormula();
if(ref.indexOf(':') > 0) {
AreaReference aRef = new AreaReference(ref);
return aRef.getFirstCell();
} else {
return new CellReference(ref);
}
}
示例6: toDataModel
import org.apache.poi.ss.usermodel.Name; //导入方法依赖的package包/类
/**
* For given {@link Workbook} does convert everything to new {@link DataModel} structure.
* Does copy all supported fields (for supported fields see {@link DataModel} class.
*/
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;
}