连接字符串和 ISAM 的问题

发布于 2024-10-15 01:30:21 字数 622 浏览 4 评论 0原文

我有以下问题。很少有应用程序从 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

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

I have the following problem. Have little application which read some data from excel file. Here is my connection string:

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

When I use it everything is working great but data from first rows in my excel file is read as column name. I don't want it so I must change my connection string and add this:

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

I don't know why but then my reading function doesn't work and i have communicate that:

Could not find installable ISAM

What's going wrong?
Thanks for any advise.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一向肩并 2024-10-22 01:30:21

来自Microsoft 支持

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

支持pilotcam的回答。

祝你好运!

From Microsoft support:

the provider names your fields F1, F2, etc. Because the Extended Properties string now contains multiple values, it must be enclosed in double quotes itself, plus an additional pair of double quotes to tell Visual Basic to treat the first set of quotes as literal values, as in the following example (where extra spaces have been added for visual clarity).

Support pilotcam's answer.

Good luck!

无法回应 2024-10-22 01:30:21

尝试将扩展属性放在引号中...

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

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

Try surrounding the extended properties in quotes...

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

and remove the "@" since you need to escape the quotes

夜唯美灬不弃 2024-10-22 01:30:21

不知道我理解得好不好。我尝试了 piloctam 的代码,但有些东西不太好。
有些引用不好。
也许一句话:

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

可以吗?

I don't know if I understanding well. I try piloctam's code but something is not good.
Some quotes is not good.
Maybe in one line:

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

That is ok?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文