工作表中的每个单元格都有一个由 CellValue 对象指定的值。若要访问此对象,请使用 CellRange.Value 属性。单元格值由单元格中包含的数据确定:
单元格值可以是以下类型之一:空、数字、文本、布尔值或错误。单元格值可能具有各种显示格式。例如,数值可以显示为十进制数、百分比或货币值、日期或时间值等。
使用 CellRange.Value 属性返回的 CellValue 对象的属性检索有关单元格值类型的信息,并将单元格值本身作为相应类型的对象获取。 若要获取指定单元格中显示的格式化值的字符串,请使用 Cell.DisplayText 属性。
下表列出了可用的单元格值类型,并提供了有关如何输入、格式化、显示和获取每种类型的值的示例。
单元格值类型 | 说明 | 单元格内容 | 示例输入 | 示例显示格式 | 显示的字符串 (Cell.Display文本) |
识别类型 | 获取单元格值对象 |
Empty | 空 | 默认单元格值类型。 如果单元格包含任何数据,则可以通过设置CellRange.Value属性为 null 或 CellValue.Empty 有关详细信息,请参阅“如何:清除内容、格式、超链接和注释的单元格”文档。 |
cell.Value = null - 或者- cell.Value = CellValue.Empty |
![]() |
CellValue.IsEmpty = true CellValue.Type = CellValueType.None |
CellValue.Empty | |
Numeric | 数值 | 单元格的CellRange.Value属性被赋值给任何数值类型的值(例如,Int32 , Double 等)。 -或- 单元格的CellRange.Formula属性设置为返回数字的表达式。 |
cell.Value = 12345678 - 或者 - cell.Formula = "= SUM(12000000,345678)" |
cell.NumberFormat =
"#,#" 更多内容参考:如何指定数值或日期单元格的格式 |
![]() |
CellValue.IsNumeric = true CellValue.Type = CellValueType.Numeric |
CellValue.NumericValue |
Numeric (Date and Time) |
日期和时间 | 单元格CellRange.Value的属性被赋值为从CellValue.FromDateTime方法获得的日期对象,或者可以表示日期或时间序列号的数值。 -或- 单元格的CellRange.Formula属性被赋值为返回日期或时间序列号的表达式。 有关详细信息,请参阅单元格中的日期和时间文档。 |
cell.Value = new DateTime(2012, 12, 10); - 或者 - workbook.DocumentSettings.Calculation.Use1904DateSystem = true; cell.Value = CellValue.FromDateTime(new DateTime(2012, 12, 10), true); - 或者 - cell.Value = 41253; - 或者 - cell.Formula = "=DATE(2012,12,10)"; |
cell.NumberFormat =
"m/d/yy" 更多示例: 如何:指定单元格内容的数字或日期公式 |
![]() |
CellValue.IsNumeric = true CellValue.Type = CellValueType.DateTime CellValue.IsDateTime = true |
CellValue.DateTimeValue CellValue.NumericValue |
Text | 文本 | 单元格的CellRange.Value属性被赋值为String对象。 -或- 单元格的CellRange.Formula属性被赋值为返回文本的表达式。 |
cell.Value = "Sample Text" - 或者 - cell.Formula = "= PROPER("sample text")" |
![]() |
CellValue.IsText = true CellValue.Type = CellValueType.Text |
CellValue.TextValue | |
Boolean | 布尔 | 单元格的CellRange.Value属性被赋值为Boolean对象。 -或- 单元格的CellRange.Formula属性被赋值为返回 TRUE 或 FALSE 的表达式。 |
cell.Value = true - 或者 - cell.Formula = "= TRUE()" |
![]() |
CellValue.IsBoolean = true CellValue.Type = CellValueType.Boolean |
CellValue.BooleanValue | |
Error | 错误 | 单元格的CellRange.Value属性被赋值为:CellValue.Error*字段(例如,CellValue.ErrorDivisionByZero,
CellValue.ErrorInvalidValueInFunction,
CellValue.ErrorName等等)返回的对象。 -或- 单元格的CellRange.Formula属性被赋值为错误代码(例如,“=#DIV/0!”、“=#N/A”等)或无法正确计算的表达式(例如,包含无效函数名称、值、除以零等) 有关详细信息,请参阅错误类型文档。 |
cell.Value = CellValue.ErrorDivisionByZero - 或者 - cell.Formula = "= #DIV/0!" - 或者 - cell.Formula = "=5/0" |
![]() |
CellValue.IsError = true CellValue.Type = CellValueType.Error |
CellValue.ErrorValue |