使用ADO.NET创buildExcel工作表(OleDb) – >支持哪些DataTypes?

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

我能够用OleDbCommand创build工作表:

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))? 我没有谷歌,但没有find任何文件或提示。

谢谢你的帮助。

Excel只能识别一组有限的数据types 。 例如:

  • 所有的数字列是双打的
  • 所有string列(除了备注列)都是255个字符的Unicodestring

数字

所有版本的Excel:

  • 8字节双
  • [signed] short [int] – 用于布尔值和整数
  • unsigned short [int]
  • int

string

所有版本的Excel:

  • [signed] char * – 最多255个字符的以null结尾的字节string
  • 无符号字符* – 长度为255个字符的字节串

仅限于Excel 2007+:

  • 无符号短符号 – 最多32,767个字符的Unicodestring,可以是空字符或长度计数

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

或者如果你想得到真正的热心,你可以尝试用于Microsoft Office的Open XML SDK 2.0