c#访问EXCEL,将单元格格式设置为一般格式

本文关键字:格式 设置 单元格 访问 EXCEL | 更新日期: 2023-09-27 18:10:51

当在c#中操作excel单元格时(通过COM对象),我应该使用。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 = "@"; 

我得到了这个"小错误"在每个单元格的左上角签名

c#访问EXCEL,将单元格格式设置为一般格式

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

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

但有一个区别(在文章中指出)

该属性[Value2]与Value之间的唯一区别属性是Value2属性不使用货币和日期数据类型。可以返回用这些数据类型格式化的值为

对于第二个问题,您是否尝试将单元格设置为"General"并在代码中读出它?

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

为了得到一般类型,作为"魔术字符串",应该分配给NumberFormat属性尝试使用空字符串,例如

sheet.Cells[5, 7].NumberFormat = "";  // sets the cell type to the General type