Java JXL解决#值问题

Java JXL解决#值问题,java,excel,worksheet-function,jxl,Java,Excel,Worksheet Function,Jxl,我想使用平均值函数,但当我有一个引用单元格,恰好是一个标签时,我得到#值作为输出 我已经附上了我正在尝试做的事情的示例代码: String filename = "C:\\input.xls"; WorkbookSettings ws = new WorkbookSettings(); ws.setLocale(new Locale("en", "EN")); WritableWorkbook workbook = Workbook.createWorkbook

我想使用平均值函数,但当我有一个引用单元格,恰好是一个标签时,我得到#值作为输出

我已经附上了我正在尝试做的事情的示例代码:

String filename = "C:\\input.xls";     
WorkbookSettings ws = new WorkbookSettings();      
ws.setLocale(new Locale("en", "EN"));      
WritableWorkbook workbook = Workbook.createWorkbook(new File(filename), ws);     
WritableSheet s1 = workbook.createSheet("Output", 0);     
s1.addCell(new Number(1,2,6));      
s1.addCell(new Number(3, 1, 6));       
s1.addCell(new Number(3, 2, 1));      
s1.addCell(new Number(3, 3, 6));      
s1.addCell(new Label(3, 4, ""));      
Formula formula = new 
 Formula(3,5,"AVERAGE(Output!D1,Output!D2,Output!D3,Output!D4,Output!D5)");      
s1.addCell(formula);  
workbook.write();
workbook.close();
我无法将空单元格转换为0,因为平均值将更改

使用的罐子

jxl-2.6.jar

将根据公式使用实时值,而不是标签值

IF(某些单元格引用=”,“”,某些值)

但是,;当我尝试用F2键编辑单元格时,它会更改其执行计划,并得到正确的输出

有没有解决这个问题的办法

预期解决方案:

使单元格为空,但更改单元格格式,以便不返回#值

这篇文章与


好的,我看到的第一个问题是,您添加的数字在“C”列中,而不是在“D”列中。也许你已经在“D”中有数字了,所以这不是问题,而是要考虑的事情。 我认为最大的问题是jxl处理电子表格的方式,它认为他们的命名范围在插入公式之前没有创建,所以他们只有在“进入”单元格时才能工作,就像你所做的那样。因此,可能是您的“输出”工作表未初始化,因此没有有效的输出引用!参考资料

由于您还在同一工作表中插入公式,因此请转储工作表引用并按如下方式书写您的行:

Formula formula = new Formula(3,5,"AVERAGE(D1:D5)");