使用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
- 使用OleDbConnection :: GetOleDbSchemaTable()列出Excel表
- 如何防止ADO.NET从Excel文件读取时更改双精度值
- 无法连接到SQL Server,但Excel和ODBCconfiguration可以
- 使用WHERE子句的OLE CALL到Excel
- 在ADO.NET 4.0中处理多个连接到多个Excel文件的正确方法是什么?
- 如何查询使用OLEDB在内存中的Excel数据?
- 将Excel文件读入.NET应用程序的更快的方法是:ADO.net或Microsoft.Office.Interop.Excel.Application?
- C#Excel查询问题
- 比较来自不同input源的两个数据表