JXL解决#VALUE问题

我想使用AVERAGE函数,但是当我有一个参考单元碰巧是一个标签,我得到#VALUE作为输出。

我已经附上了我想要做的一些代码示例:

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(); 

由于AVG值会改变,我不能将空单元转换为0。

JAR使用

JXL-2.6.jar

实时而不是标签的价值将基于公式使用

IF(一些-于小区的参考= “”, “”,一些 – 值)

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

有没有可用的解决scheme….

预期解决scheme:

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

这篇文章是有一点关系的

JXL #VALUE问题引用其他工作表

好的,我看到的第一个问题是你添加的数字是在“C”列而不是“D”。 也许你已经有了“D”中的数字,所以这不是一个问题,而是需要考虑的事情。

我认为最大的问题在于jxl工作在电子表格的方式, 另一个提问者认为他们的命名范围并没有在他们的公式被插入之前创build,所以他们只有在他们进入单元格时才会工作。 。 所以可能是你的“输出”表没有初始化,所以输出没有有效的参考! 引用。

既然你也在同一张表中插入公式,那么转储工作表引用并写下你的行:

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