我正在编写一个.NET程序,它生成一个在Excel中打开的XML文档。单元格通常如下所示:
<ss:Cell>
<ss:Data ss:Type="Number">123</ss:Data>
</ss:Cell>
但偶尔我写的值有NaN,DIV / 0或INF。在这些情况下,123将被该文本值替换,Excel将不会因文本而打开文件。
我不认为Excel有常量,所以我不确定如何处理这种情况,而不是放入“-1”值。有什么建议吗?
答案 0 :(得分:5)
以下是Excel了解的不同错误代码,以XML格式存储:
<Cell><Data ss:Type="Error">#DIV/0!</Data></Cell>
<Cell><Data ss:Type="Error">#NUM!</Data></Cell>
<Cell><Data ss:Type="Error">#VALUE!</Data></Cell>
<Cell><Data ss:Type="Error">#N/A</Data></Cell>
<Cell><Data ss:Type="Error">#NAME?</Data></Cell>
<Cell><Data ss:Type="Error">#REF!</Data></Cell>
<Cell><Data ss:Type="Error">#NULL!</Data></Cell>
只有前两个与您的问题相关,但为了完整起见,我添加了其他内容。
但偶尔我写的价值有NaN,DIV / 0或INF
DIV/0
映射到#DIV/0!
。我认为Excel中NaN
或INF
之间没有区别,它们似乎都表示为#NUM!
。例如,以下两个公式都生成#NUM!
,即使第一个是无效数字,而第二个只是非常大。
=ASIN(2)
=EXP(EXP(10))
有趣,强硬几乎没用:Excel允许您将这些文字错误值(包括所有标点符号)输入到工作表上的单元格中而不会出现问题。从某种意义上说,这些是内置常量。