- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用下面的连接字符串与 ACE.OLEDB.12.0 从 XLSX 电子表格读取数据,但是我设置 IMEX=1,它不起作用,而当我完全删除 IMEX=1 时,它工作正常。
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Working Folder\ICDE\Ramsden 4.xlsx;Extended Properties=""Excel 12.0 xml;HDR=No;IMEX=1;"""
谁能解释一下为什么吗?因为我的印象是 IMEX=1 将所有数据读取为文本,因此更安全!
谢谢
日本
IMEX=<0/1/2>IMEX是指IMport EXport模式。这可以采用三个可能的值。
IMEX=0 和 IMEX=2 将导致忽略 ImportMixedTypes,并使用默认值“Majority Types”。在本例中,它将获取前 8 行,然后决定每列的数据类型。
IMEX=1 是将 ImportMixedTypes 的值设置为 Text 的唯一方法。在这里,所有内容都将被视为文本。
最佳答案
IMEX=1 不以文本形式返回所有数据。这是一个非常常见的误解。
OLEDB 的作用是扫描前 n 行(默认 = 8)并确定数据类型。如果省略 IMEX=1,那么对于与该数据类型不匹配的任何值,它将返回 Null。如果包含 IMEX=1 并且扫描遇到混合数据类型,那么它将返回文本。如果您的工作表有文本标题,那么您可以通过指定 HDR=No 并丢弃标题来帮助此过程。但是,OLEDB 将始终扫描前 n 行以确定数据类型并相应地返回结果。
要扫描的行数由 TypeGuessRows 的值确定。
较旧的 Microsoft.Jet.OLEDB.4.0 驱动程序允许您在连接字符串中指定 TypeGuessRows,但 Microsoft.ACE.OLEDB.12.0 不允许。 TypeGuessRows 现在保存在注册表中...
Excel 2007: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
Excel 2010: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
Excel 2013: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
在 64 位计算机上运行的 32 位应用程序将在 Wow6432Node 下找到它们。例如...
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
在我看来这是一种倒退,但我想一定有其正当的理由。如果您找到了,请告诉我们。
关于.net - 使用 ACE.OLEDB.12.0 和 IMEX=1 读取 Excel 工作表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46170343/
我正在尝试将 xls 导出到数据表中。下面是我的连接字符串。 string path = //xls source path OleDbConnection MyConnection = new Ol
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=localhost;Extended Properties=""Excel 8.0;HDR=Yes;IMEX
我已经阅读了很多关于此的帖子,但我无法让它发挥作用。我正在导入地址电子表格。邮政编码列包含 5 位邮政编码、9 位邮政编码和 5-4 个邮政编码(5 位数字、破折号和 4 位数字)的组合。 (抱歉,我
我使用以下代码读取 xls 文件: private static DataSet GetDataSetFromExcelFilePath(string filePath) { try
我在 C# 中使用 Microsoft.ACE.OLEDB.12.0 驱动程序来读取和写入 excel 文件 (XLS)。我的阅读器的扩展属性如下所示:Excel 8.0;HDR=NO;IMEX=1;
我正在创建一个 ACCESS 应用程序,其中一个步骤是将数据从 Excel 电子表格导入数据库。一切正常,但是,如果有不同类型的值(即字符串、数字),ACCESS 只会导入一种类型。 Excel 电子
我使用下面的连接字符串与 ACE.OLEDB.12.0 从 XLSX 电子表格读取数据,但是我设置 IMEX=1,它不起作用,而当我完全删除 IMEX=1 时,它工作正常。 "Provider=Mic
我是一名优秀的程序员,十分优秀!