2

我是 jexcel api 的新手,还没有成功添加公式。

每当我尝试编译公式时,都会出现编译错误:

Exception in thread "main" java.util.EmptyStackException
     at java.util.Stack.peek(Stack.java:102)
     at java.util.Stack.pop(Stack.java:84)
     at jxl.biff.formula.BinaryOperator.getOperands(BinaryOperator.java:61)
     at jxl.biff.formula.StringFormulaParser.parseCurrent(StringFormulaParser.java:240)
     at jxl.biff.formula.StringFormulaParser.parse(StringFormulaParser.java:113)
     at jxl.biff.formula.FormulaParser.parse(FormulaParser.java:161)
     at jxl.write.biff.FormulaRecord.initialize(FormulaRecord.java:160)
     at jxl.write.biff.FormulaRecord.setCellDetails(FormulaRecord.java:243)
     at jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:1199)

从调用 addCell

Formula formula;
formula = new Formula(column, row, string, arial);
sheet.addCell(formula);

如果我犯了一些明显的错误,请告诉我,我可以采取哪些步骤来正确地将公式添加到我的电子表格中。

4

2 回答 2

5

我遇到了同样的问题,我的问题是我在表达式之前放了“=”,只是删除了它并且它没有错误地工作

于 2012-09-17T08:05:52.403 回答
-1
/**
 * Looks at the object at the top of this stack without removing it
 * from the stack.
 *
 * @return     the object at the top of this stack (the last item
 *             of the <tt>Vector</tt> object).
 * @exception  EmptyStackException  if this stack is empty.
 */
public synchronized E peek() {
int len = size();

if (len == 0)
    throw new EmptyStackException();
return elementAt(len - 1);
}

所以你得到的错误类似于 NullPointerException,不同的是你的堆栈是空的,所以你不能从中窥视任何东西。

这可能表明您有问题string

这是一个教程http://www.java-tips.org/other-api-tips/jexcel/how-to-create-an-excel-file.html也谈论创建公式。

这是另一个:http ://r4r.co.in/java/apis/jexcel/basic/example/jexcel_basic_examples.php?id=774&option=Jexcel%20Example

于 2012-08-19T22:59:27.290 回答