所有,这个问题上有很多问题,但没有解决我的问题。我写了一个相当复杂的例程,使用OleDb和Access数据库引擎将Excel传递给Excel(我的Office 2010运行在Win7下)。问题是无论我如何定义要写入Excel的列,所有值都作为TEXT/STRING
字段导出。C#Excel插入错误使用OleDb和Access数据库引擎
我使用OleDbConnection
串
string fileName = @"F:\SomePath\MyExcel.xlsx";
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=
{0};Extended Properties=""Excel 12.0 Xml;HDR=YES;MaxScanRows=0;IMEX=0""", fileName);
,并试图许多其他connection string options没有运气。
我生成代码Excel的定义,但明确地这些被制成
CREATE TABLE [MetaTab] ([Table] TEXT,[Field] TEXT,[Seq] NUMBER,[DataLevel] NUMBER)
然后我生成用于插入的代码,对于以上示例是
INSERT INTO [MetaTab$]([Table],[Field],[Seq],[DataLevel])VALUES('B1A','EstabID','1','9')
这工作,但所有值都写为TEXT。 如何强制Excel采取其他数据格式?
注意:我已尝试删除非字符串的撇号,但这也不起作用。我真的被卡住了,任何想法都将不胜感激。谢谢你的时间。
您是否尝试过与HDR = NO,我认为,如果你创建的表中,第一行不包含任何头 – Steve 2012-04-27 10:44:52
是。我试过这个。谢谢。 – MoonKnight 2012-04-27 10:46:29