我正在尝试将数据从Excel传输到SQL Server数据库。每个Excel文件每个月都有一个工作表,每个工作表都具有以下结构,其中,对于每个“生产单位”,每个月的每一天都存储字段的值。所有字段名称都完全相同。
... (Emptry/Irrelevant Rows)
Unit 1 | | 1| 2| 3| 4| 5| ...
Field1 |KG | 95.2| 254.12| 125.0| 125.0| 125.0| ...
Filed2 |CM | 95.2| 254.12| 125.0| 125.0| 125.0| ...
... (Other Fields)
... (Emptry/Irrelevant Rows)
Unit 2
Field1 |KG | 95.2| 254.12| 125.0| 125.0| 125.0| ...
Filed2 |CM | 95.2| 254.12| 125.0| 125.0| 125.0| ...
... (Other Fields)
... (Emptry/Irrelevant Rows)
Unit 3
...
每年都有一个单独的Excel文件。我想以下列格式将所有这些数据输入数据库:
Unit |Date |Field1 |Field2 | ...
1 |18/02/2008 | 23.5| 12.56| ...
1 |19/02/2008 | 23.5| 12.56| ...
...
3 |01/05/2012 | 23.5| 12.56| ...
...
我知道如何获取工作表的特定片段然后取消/转动以旋转数据,但在此之前,我有2个问题。
一种方法是将列名从简单数字重命名为完整日期(或之后?)我将它们取消。因此,某些方式可以附加月份(可能基于使用工作表名称的案例陈述)和年份(可能来自我可以为每个Excel文件更改的变量)。
第二个是如何单独引入单位数据。单位之间有相当多的计算单元格和空/不相关的行。我要么需要为每个指定范围,要么引入所有,然后消除它们之间的行(可能必须基于行号,因为我不确定其他逻辑将适用于所有行)。但是,我如何将它们标记为1/2 / 3 /等单位?有5个。
我对SSIS并不熟悉,我觉得这里有点深度。是否应该在存储过程中完成所有这些操作?如果是这样,是否还需要SSIS?如果它将在SSIS中程序所在的位置?或者有更简单的方法来做这一切吗?