如何在xlsx文件中转换数据,以删除单元格中的合并并使用SSIS将某些列转置为在SQL Server中接收数据?

ito*_*to 5 sql-server excel ssis etl xlsx

我有一个按原样制作的电子表格数据源,在某些列中应用了合并,并且每周数据列以增量格式使用,例如,对于2019W12,将填充下一列(R列)。

电子表格数据源

电子表格数据源

我需要解析电子表格内容并使用SSIS加载到SQL Server表中,建议的格式为:

拟议的电子表格数据转换

拟议的电子表格数据转换

我尝试了一些替代方法,例如在SSIS中应用转换,但是在下周的加载作业中出现列增量案例异常,我尝试使用Python(xlrd)解析和拆分电子表格数据,但未成功将数据从F列转置和关联到' N',列从A到E。有人会遇到这种类型的问题,即使用SSIS将电子表格数据摄取到SQL Server中吗,还是有另一种逻辑方式在摄取之前转换数据?

Had*_*adi 2

将问题拆分为子任务

根据您的问题,您希望实现三个主要功能:

  1. 寻找操作 Excel 文件的有效方法
  2. 取消合并单元格并填充重复值
  3. 将行转置为列

可能的解决方案

为了执行复杂的转换,您必须使用以下方法之一来执行此操作,因为提供了可以在 Microsoft Excel 中完成的所有功能:

  1. .Net Microsoft.Office.Interop.Excel 库(C# 或 VB.NET)
  2. Excel VBA

您正在寻找的解决方案很复杂并且非常具体,您必须自己实现逻辑。我将提供一些可以帮助您实现这一目标的链接:

有用的网址

取消合并单元格并填充重复值

使用 C# 操作 Excel 文件

转置 Excel 行