我有一个电子表格,由另一台服务器更新(我无法控制),我需要自动将这些数据导入sql 2005.数据始终是电子表格的第一页.但是,该工作表的名称会根据行数而变化.
有没有办法在不事先知道工作表名的情况下运行从Excel中提取数据的SSIS作业?它似乎依赖于工作表名称作为数据源,但我想告诉它“工作表编号1”或类似的东西.
解决方法
我会将工作表名称编写为SSIS用户变量.如果您不反对将脚本任务插入SSIS包,请尝试:(基于
link text)
Excel.Application xlApp = new Excel.ApplicationClass(); Excel.Workbook xlWorkBook = xlApp.Workbooks.Open("<Name of your excel app>.xls",xlWorkBook true,5,"",true,Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,"\t",false,1,0); // Look up worksheet by index Excel.Worksheet xlWorkSheet =(Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); user::worksheetname = xlWorkSheet.Name; /* Do clean up. Working with COM object */