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, parse
getXmlTag
public 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
在接口中 FormulaProvider
public java.lang.String getPureContent()
getPureContent
在接口中 FormulaProvider
public void setContent(java.lang.String content)
setContent
在接口中 FormulaProvider
content
- 作为公式内容的字符串public java.lang.String getTransferContent()
getTransferContent
在接口中 FormulaProvider
public void setTransferContent(java.lang.String transferContent)
setTransferContent
在接口中 FormulaProvider
transferContent
- 公式内容public java.lang.Object getResult()
getResult
在接口中 FormulaProvider
public void setResult(java.lang.Object result)
setResult
在接口中 FormulaProvider
result
- 设置公式的计算结果public void setOriginResult(java.lang.Object originResult)
public java.lang.Object getResultForCurrentValue()
public boolean isReserveInResult()
isReserveInResult
在接口中 FormulaProvider
isReserveInResult
在类中 AbstractFormulaProvider
public void setReserveInResult(boolean reserveInResult)
reserveInResult
- 需要保留公式则设置为true,否则设置为falsepublic boolean isReserveOnWriteOrAnaly()
isReserveOnWriteOrAnaly
在接口中 FormulaProvider
isReserveOnWriteOrAnaly
在类中 AbstractFormulaProvider
public void setReserveOnWriteOrAnaly(boolean reserveOnWriteOrAnaly)
reserveOnWriteOrAnaly
- 需要保留公式则设置为true,否则设置为falsepublic boolean isEmpty()
isEmpty
在接口中 FormulaProvider
isEmpty
在类中 AbstractFormulaProvider
public boolean isResult()
public void modColumnRow(ModColumnRowProvider mod)
modColumnRow
在接口中 ColumnRowModifier
mod
- 行列修改连接器public ColumnRow[] getRelatedColumnRows()
下面的返回结果是A1行列和C1行列:
CalculatorProviderContext.registerCalculatorProvider(Calculator.createCalculator()); Formula f = new Formula("left(A1,2) + 'B1' + C1"); ColumnRow[] crs = f.getRelatedColumnRows();
getRelatedColumnRows
在接口中 ColumnRowRelated
public java.lang.String[] dependence(CalculatorProvider ca)
dependence
在接口中 DependenceProvider
ca
- 当前线程的算子public void readXML(XMLableReader reader)
XMLReadable
readXML
在接口中 XMLReadable
reader
- XML读取对象XMLableReader
public void writeXML(XMLPrintWriter writer)
XMLWriter
public boolean equals(java.lang.Object obj)
equals
在类中 java.lang.Object
public java.lang.String toString()
toString
在类中 java.lang.Object
public BaseFormula clone() throws java.lang.CloneNotSupportedException
clone
在接口中 FCloneable
clone
在接口中 FormulaProvider
clone
在类中 AbstractFormulaProvider
java.lang.CloneNotSupportedException
- 不支持的克隆public static FormulaBuilder createFormulaBuilder()