Previous topicNext topic
Help > 开发指南 > Excel > API > 主要对象 > Cell单元格 >
单元格数据类型

工作表中的每个单元格都有一个由 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