sql-server - 是否有一种简单的方法可以将数据从多个 excel 苍蝇导入 SQL,包括使用 SSIS 的文件名?

标签 sql-server excel ssis

我需要从多个 excel 文件中导入工资数据,其中每个文件的文件名都是日期。

我使用了 SSIS,并成功遵循了导入多个 excel 文件的典型教程。问题是它们都没有展示如何在结果中添加一个额外的列(带有文件名)的简单方法。有一些教程包含大量代码脚本,对我来说太复杂了。

我所做的是在典型的“excel 源”和“OLE BD 目标”之间添加“派生列”模块,在其中我添加了一个带有表达式 @[User::FileName] 的新列“日期”——一个用于“foreach”的变量循环容器',但结果我从所有文件中收到了正确组合的数据,但额外的列包含相同的数据 - 第一个导入文件的文件名。

我想知道是否有任何简单的方法可以使我用来在每个循环中更改的变量?因此,结果,我收到组合数据加上一个包含相应日期的额外列,即每个文件的名称。非常感谢

最佳答案

如果您使用的是 Foreach File Enumerator , 在 Collection 中选择“仅名称”如下图所示的 Pane (我假设“仅名称”将为您提供您正在寻找的日期)。

Collection Pane

这允许您在每次迭代时将其映射到一个变量中。为此,请导航至 Variable Mappings Pane ,然后选择要在 Data Flow Task 中使用的变量, 以 0 为索引。

Variable Mappings Pane

然后您可以将此变量添加为 Derived Column ,它会给你你正在导入的文件的名称。

关于sql-server - 是否有一种简单的方法可以将数据从多个 excel 苍蝇导入 SQL,包括使用 SSIS 的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55496644/

相关文章:

sql-server - 为什么 Windows 身份验证使用错误的用户名?

sql - 为什么在 SQL 中对现有列的测试失败?

c# - EF : Passing a table valued parameter to a user-defined function from C#

excel - 如何获取合并单元格中存在的值?

sql - 如何在Excel VBA中联接从两个不同数据源创建的两个记录集

sql - 更新三个不同服务器上的存储过程

c# - 如何将 Excel 中的命名范围与 OleDB 一起使用?

sql-server - 部署后,SSIS脚本组件不起作用。关于ComponentVersionMismatchError的投诉

sql-server - BIML 启用 SSIS 包配置

sql-server - 从高级编辑器更改数据类型与数据转换