Microsoft Excel 数据类型

下表显示了如何将 Microsoft Excel 驱动程序数据类型映射到 ODBC SQL 数据类型。 Microsoft Excel 驱动程序根据列中的数据将这些数据类型分配给 Microsoft Excel 表中的列。

Microsoft Excel 数据类型 ODBC 数据类型
CURRENCY SQL_NUMERIC
DATETIME SQL_TIMESTAMP
LOGICAL SQL_BIT
NUMBER SQL_DOUBLE
TEXT SQL_VARCHAR

注意

SQLGetTypeInfo 返回 ODBC SQL 数据类型。 本主题前面列出的 ODBC SQL 数据类型支持 ODBC 程序员参考 附录 D 中的所有转换。

下表显示了 Microsoft Excel 数据类型的限制。

数据类型 说明
加密数据 Microsoft Excel 驱动程序无法读取加密的数据。
错误字符串 Microsoft Excel 驱动程序无法为 Microsoft Excel 错误值 (#N/A!、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?和 #NULL!) 返回字符串,而是返回 NULL。
LOGICAL LOGICAL 列中的值在SQL_C_CHAR缓冲区中以 0 或 1 的形式返回。
NUMBER 如果创建了整数列,则可以输入对于整数数据类型来说太大的数字,并且可以插入包含非整数值的数据,结果该列可能会转换为SQL_DOUBLE。
TEXT 当列的行包含多个 Microsoft Excel 数据类型时,ODBC Microsoft Excel 驱动程序会将SQL_VARCHAR数据类型分配给该列。 有一个例外:如果列只包含两个或三个日期/时间数据类型 (DATE、TIME 和 DATETIME) ,则 ODBC Microsoft Excel 驱动程序会将SQL_TIMESTAMP数据类型分配给该列。

创建长度为零或未指定长度的 TEXT 列实际上会返回一个 255 字节的列。

字符串文本可以包含任何 ANSI 字符 (1-255 十进制) 。 使用两个连续的单引号 (“) 表示一个单引号 ( ) 。

将 NULL 插入数据类型为 SQL_VARCHAR 之外的列将导致列的数据类型更改为SQL_VARCHAR。

有关数据类型的更多限制,请参阅 数据类型限制