连接字符串和ISAM问题

时间:2011-01-30 22:49:59

标签: c# connection-string import-from-excel oledbconnection isam

我有以下问题。从excel文件中读取一些数据的应用很少。这是我的连接字符串:

            @"Provider=Microsoft.ACE.OLEDB.12.0;"+
            @"Data Source=" + m_excelFileName + ";" +
            @"Extended Properties=Excel 12.0;"

当我使用它时,一切都运行良好,但我的excel文件中第一行的数据被读作列名。我不想要它所以我必须更改我的连接字符串并添加:

           @"Provider=Microsoft.ACE.OLEDB.12.0;"+
           @"Data Source=" + m_excelFileName + ";" +
           @"Extended Properties=Excel 12.0;"+
           @"HDR=NO;";

我不知道为什么然后我的阅读功能不起作用,我已经沟通了:

Could not find installable ISAM

出了什么问题? 谢谢你的任何建议。

3 个答案:

答案 0 :(得分:1)

尝试围绕引号中的扩展属性...

"Provider=Microsoft.ACE.OLEDB.12.0;"+
"Data Source=" + m_excelFileName + ";" +
"Extended Properties=\"Excel 12.0;"+
"HDR=NO;\"";

并删除“@”,因为您需要转义引号

答案 1 :(得分:1)

来自Microsoft support

  

提供程序将字段命名为F1,F2等。因为扩展属性字符串现在包含多个值,所以它必须用双引号括起来,再加上一对双引号,告诉Visual Basic处理第一组引用为文字值,如下例所示(为了清晰起见,添加了额外的空格)。

支持pilotcam的回答。

祝你好运!

答案 2 :(得分:0)

我不知道我是否理解得很好。我尝试了piloctam的代码,但有些东西并不好。 有些报价并不好。 也许在一行:

@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + m_excelFileName + ";Extended Properties=Excel 12.0; HDR=NO;";

没关系?