繁体   English   中英

使用ADO.NET创建Excel工作表(OleDb) - >支持哪些数据类型?

[英]Creating an Excel Sheet with ADO.NET (OleDb) --> What DataTypes are Supported?

我尝试使用ADO.NET(OleDb)创建Excel(2003)工作表。

我能够使用OleDbCommand创建Sheet:

var cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;...";
var cnn = new OleDbConnection(cnnString);
var cmd = cnn.CreateCommand();
cnn.Open();
cmd.CommandText = "CREATE TABLE MySheet (ID char(255), Field1 char(255))";
cmd.ExecuteNonQuery();

这按预期工作。

这里我的问题:在CREATE TABLE命令中Excel支持哪些DataTypes(如char(255))? 我做谷歌但没有找到任何文件或提示。

谢谢你的帮助。

Excel仅识别有限的一组数据类型 例如:

  • 所有数字列都是双精度数
  • 所有字符串列(备注列除外)都是255个字符的Unicode字符串

数字

所有版本的Excel:

  • 8字节双
  • [signed] short [int] - 用于布尔值和整数
  • unsigned short [int]
  • [签名长] int

字符串

所有版本的Excel:

  • [signed] char * - 以null结尾的字节字符串,最多255个字符
  • unsigned char * - 长度计数的字节字符串,最多255个字符

仅限Excel 2007+:

  • unsigned short * - 最多32,767个字符的Unicode字符串,可以是空终止或长度计数

您将始终直接使用Excel对象模型获得更好的结果,并且不需要更多代码。 参见SO上的示例

或者如果您想真正热衷于此,可以尝试使用适用于Microsoft Office的Open XML SDK 2.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM