如何在 Pentaho 中读取带有动态列名的 Excel

Posted

技术标签:

【中文标题】如何在 Pentaho 中读取带有动态列名的 Excel【英文标题】:How to read an excel with dynamic column names in Pentaho 【发布时间】:2021-12-15 05:52:41 【问题描述】:

我一直在努力阅读列号和名称不断变化的 Excel 文件。我已经阅读了元数据注入,但无法在我的场景中应用它,我肯定遗漏了一些东西。我的要求是:

    我有一个 Excel 文件不断进入的目录。作业计划每天运行 2-3 次以选择文件夹中的 excel 文件,然后将 Excel 文件数据发布到 SQL Server。

    挑战在于此目录中的 Excel 文件可能有不同的列数。即列号是动态的,列名也是动态的。

我使用 Microsoft Excel 输入,为了刷新列名,每次我必须单击“从标题行获取字段”按钮。我想自动化它,只需要一个转换,它可以读取任何带有动态列名的 Excel。

在 ETL 元数据注入的大多数示例中,我注意到提供了列名。但是,在我的场景中,我事先不知道列名,甚至我的 excel 可能具有的列数。

这是否可以通过 ETL 元数据注入步骤或任何其他方式实现?

任何帮助表示赞赏。

谢谢, 萨塔克

【问题讨论】:

【参考方案1】:

您是否能够以文本格式(例如 CSV)或带有特殊字符的文本(仅使用标题)来获取除 excel 之外的第二个文件来分隔列?或者将 excel 生成为 csv 而不是 excel。

这样,您可以进行转换以读取第一行或仅带有标题的文件以读取列,然后注入该信息以读取 excel 或 csv。

使用文本文件而不是 Excel,您可以将第一行作为文本读取,然后使用将字段拆分为行步骤来获取第一行的列。

【讨论】:

以上是关于如何在 Pentaho 中读取带有动态列名的 Excel的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Pentaho 的 javascript 步骤中的另一行读取?

Pentaho 5.3 - 如何读取 PRPT 文件中的属性

如何在 Power BI 中动态获取列名?

主题:如何在多个环境中部署带有子报表的 Pentaho 报表

如何在CDE Pentaho中执行动态标题列?

Pentaho:如何将字段(= 列)动态添加到 OutputRow?