繁体   English   中英

excel 2013 的 OLEDB 连接字符串

[英]OLEDB connection string for excel 2013

我正在尝试将我的旧连接字符串调整为 excel 2007 文件以用于 excel 2013 文件 (.xlsx)

这是我的旧的:

strConnectionString = string.Format(
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};" + 
    "Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", 
    strFile);

对于新的,我能做些什么?

你有没有试过这个...

string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=Yes;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text'", arq)

将数据视为文本

当您想将文件中的所有数据视为文本时使用此选项,覆盖 Excel 列类型“常规”以猜测列中的数据类型。

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;
Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";

如果要将列标题读入结果集(即使有标题,也使用 HDR=NO)并且列数据是数字,请使用 IMEX=1 以避免崩溃。

始终使用 IMEX=1 是一种更安全的方式来检索混合数据列的数据。 考虑这样一种情况:一个 Excel 文件可能工作正常,导致该文件的数据导致驱动程序猜测一种数据类型,而包含其他数据的另一个文件导致驱动程序猜测另一种数据类型。 这可能会导致您的应用程序崩溃。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM