C#,Visual Studio 2010

在C#中(通过COM对象)操作excel单元格时,应使用.Value或.Value2吗?
那是

 sheet.Cells[row + n, col].Value = "Hello world"


要么

 sheet.Cells[row + n, col].Value2 = "Hello world"


它们之间有什么区别?

另外,如何将单元格格式设置为“常规”?

sheet.Cells[row + n, col].NumberFormat = "XYZ";  // Not sure what should be here


现在,当我为单元格分配数字“ 0,34”时,即使我这样做

sheet.Cells[row + n, col].NumberFormat = "@";


我在每个单元格的左上角都收到了这个“小错误”标志

最佳答案

要回答第一个问题,您应该阅读这篇文章:http://blogs.msdn.com/b/eric_carter/archive/2004/09/06/225989.aspx

可选参数部分不再适用,因为C#4.0具有可选参数。

但是有区别(在文章中有说明)


此属性[Value2]和Value之间的唯一区别
属性是Value2属性未使用货币和日期
数据类型。您可以返回使用以下数据类型格式化的值:
使用Double数据类型的浮点数。


对于第二个问题,您是否尝试过将单元格设置为“常规”并用代码读出?

我认为这是sheet.Cells[row + n, col].NumberFormat = "General",其中"@"是纯文本。

10-08 02:58