【发布时间】:2015-11-30 14:58:30
【问题描述】:
我是一名商业智能开发实习生,如果我不像某些人那样精通 SQL 或 Microsoft BI Stack,请见谅。
我正在尝试将数据从 Excel 文件 (.xls) 导入 SQL Server 数据库表,但由于某种原因,连接管理器完全忽略了我的数据的最后一列。
更奇怪的是,如果我在 Excel 中打开 Excel 文件时尝试在 SSIS 中设置连接管理器,SSIS 会读取数据。 (我想我一开始是无意中这样做的,结果让我感到惊讶。)
这是未在 Excel 中打开文件的数据预览:
以及在 SSIS 中设置连接管理器之前打开文件的数据预览:
这两个都描述了文件中数据的结尾,但出于某种原因,如您所见,在第一个数据预览中省略了“区域”列。
到目前为止我尝试过的步骤:
- 使用脚本任务转换为 .csv 文件
- 使用 ADO.Net 源并以这种方式读取 excel 数据
- 使用 SQL 命令查看数据,而不是从表或工作表中选择
- 更改 OpenRowset 属性以指定列
关于源文件的细节:
- 前 3 行数据为空(图片除外)
- 第 4 行包含标题数据
- 'Zone' 列采用常规格式,其他所有不包含日期的列也是如此
如果有人有任何想法或建议,我将不胜感激。
谢谢!
【问题讨论】:
-
您是在阅读整个 excel 表还是在使用选定的范围,例如
SELECT * FROM [MyWorksheet$B5:J100]? -
我都试过了,都没有用。
标签: sql-server database excel ssis