public abstract class BaseFormula extends AbstractFormulaProvider implements XMLable, ColumnRowRelated
| 限定符和类型 | 字段和说明 |
|---|---|
protected java.lang.String |
content |
SCRIPT_XML_TAG, TFC_XML_TAG, XML_TAG| 构造器和说明 |
|---|
BaseFormula() |
| 限定符和类型 | 方法和说明 |
|---|---|
BaseFormula |
clone()
克隆
|
static FormulaBuilder |
createFormulaBuilder()
公式构建器
|
java.lang.String[] |
dependence(CalculatorProvider ca)
获取当前对象对参数的依赖关系
|
boolean |
equals(java.lang.Object obj) |
java.lang.String |
getContent()
获取公式的内容
获取的内容总是以等号开头,下面得到的结果是"=left(A1, 2)":
new Formula("left(A1, 2)").getContent()
|
java.lang.String |
getPureContent()
获取不带"="号的公式内容
|
static java.lang.String |
getPureFormulaContent(java.lang.String target)
返回可能是公式的字符串
|
ColumnRow[] |
getRelatedColumnRows()
返回和公式中单元格有关联的其他所有单元格
下面的返回结果是A1行列和C1行列:
CalculatorProviderContext.registerCalculatorProvider(Calculator.createCalculator());
Formula f = new Formula("left(A1,2) + 'B1' + C1");
ColumnRow[] crs = f.getRelatedColumnRows();
|
java.lang.Object |
getResult()
返回公式计算的结果
|
java.lang.Object |
getResultForCurrentValue()
用于公式中有原始值参加运算的情况,如$$$/10,多次计算结果会一直循环除以10,仅仅获取第一次计算后的结果
|
java.lang.String |
getTransferContent()
获取结果公式的内容
|
boolean |
isEmpty()
判断公式内容是否为空
|
boolean |
isReserveInResult()
导出编辑结果时是否保留公式
|
boolean |
isReserveOnWriteOrAnaly()
填报时计算后是否保留公式
|
boolean |
isResult()
判断公式是否已经是结果公式,也就是不再参加运算的公式
|
void |
modColumnRow(ModColumnRowProvider mod)
连锁修改行列
|
void |
readXML(XMLableReader reader)
读取子节点,应该会被XMLableReader.readXMLObject()调用多次
|
void |
setContent(java.lang.String content)
设置公式的内容,是一个不以"="号开头的字符串
|
void |
setOriginResult(java.lang.Object originResult) |
void |
setReserveInResult(boolean reserveInResult)
设置导出编辑结果时是否保留公式
|
void |
setReserveOnWriteOrAnaly(boolean reserveOnWriteOrAnaly)
设置填报时计算后是否保留公式
|
void |
setResult(java.lang.Object result)
设置公式计算的结果
|
void |
setTransferContent(java.lang.String transferContent)
设置结果公式的内容
|
java.lang.String |
toString()
当前对象的字符串展示
|
void |
writeXML(XMLPrintWriter writer)
Write XML.
|
eval, evalTransferValue, evalValue, exStatement, parsegetXmlTagpublic static java.lang.String getPureFormulaContent(java.lang.String target)
target - 目标字符串public java.lang.String getContent()
获取的内容总是以等号开头,下面得到的结果是"=left(A1, 2)":
new Formula("left(A1, 2)").getContent()
getContent 在接口中 FormulaProviderpublic java.lang.String getPureContent()
getPureContent 在接口中 FormulaProviderpublic void setContent(java.lang.String content)
setContent 在接口中 FormulaProvidercontent - 作为公式内容的字符串public java.lang.String getTransferContent()
getTransferContent 在接口中 FormulaProviderpublic void setTransferContent(java.lang.String transferContent)
setTransferContent 在接口中 FormulaProvidertransferContent - 公式内容public java.lang.Object getResult()
getResult 在接口中 FormulaProviderpublic void setResult(java.lang.Object result)
setResult 在接口中 FormulaProviderresult - 设置公式的计算结果public void setOriginResult(java.lang.Object originResult)
public java.lang.Object getResultForCurrentValue()
public boolean isReserveInResult()
isReserveInResult 在接口中 FormulaProviderisReserveInResult 在类中 AbstractFormulaProviderpublic void setReserveInResult(boolean reserveInResult)
reserveInResult - 需要保留公式则设置为true,否则设置为falsepublic boolean isReserveOnWriteOrAnaly()
isReserveOnWriteOrAnaly 在接口中 FormulaProviderisReserveOnWriteOrAnaly 在类中 AbstractFormulaProviderpublic void setReserveOnWriteOrAnaly(boolean reserveOnWriteOrAnaly)
reserveOnWriteOrAnaly - 需要保留公式则设置为true,否则设置为falsepublic boolean isEmpty()
isEmpty 在接口中 FormulaProviderisEmpty 在类中 AbstractFormulaProviderpublic boolean isResult()
public void modColumnRow(ModColumnRowProvider mod)
modColumnRow 在接口中 ColumnRowModifiermod - 行列修改连接器public ColumnRow[] getRelatedColumnRows()
下面的返回结果是A1行列和C1行列:
CalculatorProviderContext.registerCalculatorProvider(Calculator.createCalculator()); Formula f = new Formula("left(A1,2) + 'B1' + C1"); ColumnRow[] crs = f.getRelatedColumnRows();
getRelatedColumnRows 在接口中 ColumnRowRelatedpublic java.lang.String[] dependence(CalculatorProvider ca)
dependence 在接口中 DependenceProviderca - 当前线程的算子public void readXML(XMLableReader reader)
XMLReadablereadXML 在接口中 XMLReadablereader - XML读取对象XMLableReaderpublic void writeXML(XMLPrintWriter writer)
XMLWriterpublic boolean equals(java.lang.Object obj)
equals 在类中 java.lang.Objectpublic java.lang.String toString()
toString 在类中 java.lang.Objectpublic BaseFormula clone() throws java.lang.CloneNotSupportedException
clone 在接口中 FCloneableclone 在接口中 FormulaProviderclone 在类中 AbstractFormulaProviderjava.lang.CloneNotSupportedException - 不支持的克隆public static FormulaBuilder createFormulaBuilder()