使用SSIS,如何从Excel表插入新的数据到我现有的SQL Server表中

我已经从Excel文件导入一些数据到我的SQL Server表使用SSIS。 因为这是一个损益表的报告,它有一个名称为交易名称,地址会计年度等。

在SSIS中,我使用了OLE DB Source并使用类似的查询

Select * from [Sheet1$A10:E] 

所以数据已经被拾起。 但是U需要插入交易名称和会计年度信息以及其他数据

 Trader FYear AccNo AccName July August September a 2014 4-0000 In a 2014 4-0500 Ad $4,514.06 $4,521.23 $4,296.62 a 2014 4-1000 Me $37,085.78 $35,676.20 $36,150.87 a 2014 4-1300 Ro $11,876.20 $10,956.70 $11,819.04 a 2014 4-2000 Gr $57,540.76 $52,978.63 $54,272.24 

我可以通过使用OLE DB Source和SQL来从Excel工作表中提取交易者和FYear

 select * from [Sheet1$a1:a8] 

并使用条件分割我可以分开他们。 但是我实际上并不知道如何将这些数据插入到上面那个表的每一列。

还有一件事,如果我写这样的查询

 insert into tblA(Trader, FYear, AccNo, AccName, July, August, September) select 'a', '2014', tblB.AccNo, tblB.AccName, tblB.July, tblB.August, tblB.September; 

那么,它在SQL Server表中工作,但任何人都可以帮助我插入这两列像上面的数据表? 不pipe怎么说,还是要谢谢你

![在这里input图片描述] [1]

 Trading Name(a) Address1 Address2 Profit & Loss Statement Fiscal Year(2014) AccNo AccName July August September 4-0000 In 4-0500 Ad $4,514.06 $4,521.23 $4,296.62 4-1000 Me $37,085.78 $35,676.20 $36,150.87 4-1300 Ro $11,876.20 $10,956.70 $11,819.04 4-2000 Gr $57,540.76 $52,978.63 $54,272.24 4-3500 B $0.00 $0.00 $0.00 4-4000 P $3,576.76 $4,110.66 $2,208.31 4-5000 Be $19,559.94 $17,926.14 $18,260.71 4-6000 Tu $13,471.97 $15,042.04 $13,150.06 4-8900 Re $3,500.00 $0.00 $0.00 Total Income $151,125.47 $141,211.60 $140,157.85 5-0000 Cost of Sales Gross Profit $151,125.47 $141,211.60 $140,157.85 6-0000 Expenses 6-1000 General & Administrative Exp 6-1050 Accounting Fees $0.00 $0.00 $270.00 6-1200 Bank Charges $11.20 $11.20 $14.99 

我可以通过使用OLE DB Source从Excel表中获取交易者和FYear,但是我实际上不知道如何将这些数据插入到上面的每一列中

使用您现有的方法在开始时用交易者和FYYear填充两个SSISvariables。 然后在数据stream中使用派生列转换并将variables值作为附加列插入。

根据您发送的图片:

在这里输入图像说明

  1. 删除第一个 ForEachLoop容器及其内容之外的所有内容

  2. 在这个ForEachLoop容器中添加一个执行SQL任务,它select * from [Sheet1$a1:a1]运行select * from [Sheet1$a1:a1] 。 这应该得到会计年度(如果它在该单元格中),并且您应该能够将该结果加载到单个stringvariables(您需要预先创build)中。 您需要将其设置为ResultSet = SingleRow,并且需要映射结果集区域。 您不需要使用参数映射区域

在这里看到更多关于如何从单行结果加载variables的信息: https : //www.simple-talk.com/sql/ssis/ssis-basics-using-the-execute-sql-task-to-generate -result套/

  1. 现在,在您现有的Excel数据源数据stream中,添加派生列转换,并将这些stringvariables作为额外的列插入到表中