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

gsh*_*arp 2 c# oledb excel ado.net

我尝试使用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();
Run Code Online (Sandbox Code Playgroud)

这按预期工作.

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

谢谢你的帮助.

Gab*_*ams 8

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字符串,可以是空终止或长度计数