📄 readerrorformularecord.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: ReadErrorFormulaRecord.java
package jxl.write.biff;
import common.Logger;
import jxl.ErrorFormulaCell;
import jxl.biff.FormulaData;
import jxl.biff.IntegerHelper;
import jxl.biff.formula.*;
// Referenced classes of package jxl.write.biff:
// ReadFormulaRecord, WritableSheetImpl, WritableWorkbookImpl
class ReadErrorFormulaRecord extends ReadFormulaRecord
implements ErrorFormulaCell
{
private static Logger logger;
static Class class$jxl$write$biff$ReadErrorFormulaRecord; /* synthetic field */
public ReadErrorFormulaRecord(FormulaData f)
{
super(f);
}
public int getErrorCode()
{
return ((ErrorFormulaCell)getReadFormula()).getErrorCode();
}
protected byte[] handleFormulaException()
{
byte expressiondata[] = null;
byte celldata[] = super.getCellData();
int errorCode = getErrorCode();
String formulaString = null;
if(errorCode == FormulaErrorCode.DIV0.getCode())
formulaString = "1/0";
else
if(errorCode == FormulaErrorCode.VALUE.getCode())
formulaString = "\"\"/0";
else
if(errorCode == FormulaErrorCode.REF.getCode())
formulaString = "\"#REF!\"";
else
formulaString = "\"ERROR\"";
WritableWorkbookImpl w = getSheet().getWorkbook();
FormulaParser parser = new FormulaParser(formulaString, w, w, w.getSettings());
try
{
parser.parse();
}
catch(FormulaException e2)
{
logger.warn(e2.getMessage());
}
byte formulaBytes[] = parser.getBytes();
expressiondata = new byte[formulaBytes.length + 16];
IntegerHelper.getTwoBytes(formulaBytes.length, expressiondata, 14);
System.arraycopy(formulaBytes, 0, expressiondata, 16, formulaBytes.length);
expressiondata[8] |= 0x2;
byte data[] = new byte[celldata.length + expressiondata.length];
System.arraycopy(celldata, 0, data, 0, celldata.length);
System.arraycopy(expressiondata, 0, data, celldata.length, expressiondata.length);
data[6] = 2;
data[12] = -1;
data[13] = -1;
data[8] = (byte)errorCode;
return data;
}
static Class class$(String x0)
{
return Class.forName(x0);
ClassNotFoundException x1;
x1;
throw new NoClassDefFoundError(x1.getMessage());
}
static
{
logger = Logger.getLogger(class$jxl$write$biff$ReadErrorFormulaRecord != null ? class$jxl$write$biff$ReadErrorFormulaRecord : (class$jxl$write$biff$ReadErrorFormulaRecord = class$("jxl.write.biff.ReadErrorFormulaRecord")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -