我通过StackOverflow看了很多,但似乎没有什么能解决我的问题。
在我的C#程序中,我有一个字符串字段,有时只是一个数字,有时候是一个单词。此字符串是生成的Excel文档中单元格值的来源。
当字符串包含单词时,它工作正常,当它包含说“2”时,我收到错误。
if else
。
关于SO的大多数答案都依赖于将单元格作为一个数字来处理它,但是地雷有时只是一个数字,我不希望Excel中的列包含逻辑上相同的单元格的不同格式
我尝试使用“@”格式将其明确地视为文本字段,但这也不起作用。
The number in this cell is formatted as text or preceded by an apostrophe
有什么想法吗?
更新
当我在Excel中键入2时,它将其视为数字。如果我手动将格式更改为文本,它可以正常工作,没有任何错误。我不确定当我以编程方式输入“2”并使用“@”格式时,它不会做同样的事情......
更新2:
我正在使用的代码当它不是字符串时工作正常。
excelRange.Style.Numberformat.Format = "@";
答案 0 :(得分:0)
我收到错误 - 除了这不是错误,它是一个警告“此单元格中的数字被格式化为文本或前面有撇号。”这正是你想要的,为了格式与其他数据的一致性。
可以在Excel选项(see)中关闭错误消息。