我开发了一个使用Apache POI 3.9创建XLS文件的代码 .
工作表有两列只包含布尔值,如下所示:
生成的XLS文件使用葡萄牙语的MS Excel 2010(pt-BR)打开,因此将VERDADEIRO视为TRUE,将FALSO视为FALSE . 第3列包含公式 INT(AND(L2,NOT(M2)))
每行的参考L2和M2不同 . 此公式是一个逻辑表达式,其结果转换为整数 . 但是,使用MS Excel 2010打开文件时,公式会导致错误(由#VALUE表示!) . 我使用OpenOffice Calc,LibreOffice Calc和MS Excel 2011 for Mac测试了相同的文件,它对两者都很好 .
当我按下F2然后按Enter键为每个单元格时,错误消失并显示正确的值 .
1 回答
我改变了公式,在函数调用周围添加括号
NOT(M2)
INT(AND(L2,NOT(M2)))
====>INT(AND(L2,(NOT(M2))))
问题解决了 .