0

我正在尝试在 SSIS 中打开以下 XLS 文件:

https://drive.google.com/file/d/1E_fNSlRTMuoYnH7VERFB8hXbcxssKSGr/view?usp=sharing

我可以在 Excel 中打开它,而不会出现 Excel 的任何错误或警告

但是当我尝试在 SSIS 甚至 PowerBi 中打开它时,我收到以下消息:“外部表不是预期的格式”。如果我在 Excel 中打开它,然后以相同的 XLS 格式再次保存,我可以在 SSIS 中打开它。

我已安装以下 OLE DB 驱动程序: AccessDatabaseEngine_X64 (x64) AccessDatabaseEngine (x86)

我已经尝试过以下提供商:

Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0; 
Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 8.0;
Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;
Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 5.0;

关于为什么文件没有在 SSIS 中打开的任何想法?我不想每天都打开每个文件,因为每天我需要加载很多文件。

我正在使用与 SSIS 2017 兼容的 Visual Studio 2019。谢谢!

4

1 回答 1

1

excel 阅读器将遇到的第一个问题是坐在那里的图像会使工具失效。一旦我删除图像并保存它,工具就开始工作了。

在此处输入图像描述

您将遇到的下一个问题是您需要在数据开始之前跳过前 N 行。由于 JET 驱动程序中没有执行此操作的功能,因此您需要做一些魔术来处理数据集。

谷歌 Excel、IMEX 和注册表项这些术语,你会陷入Excel 类型推断的巫术(基于前 8 行),它很丑陋。

在我职业生涯的这个阶段,我要么退缩,要么要求提供者提供更清晰的数据提取。否则,我会增加估计并编写一个自定义脚本组件源,它使用 JET/ACE 驱动程序来提取数据,然后将数据整形并键入我的数据流中。

于 2020-05-11T22:27:53.937 回答