我有一个电子表格,该电子表格由另一台服务器更新(不受我的控制),我需要自动将数据导入SQL2005。数据始终是电子表格的第一页。但是,该工作表的名称根据行数而变化。
有没有一种方法可以运行SSIS作业,该作业可以从Excel中提取数据而无需事先知道工作表名称?它似乎依赖于工作表名称作为数据源,但是我想告诉它“工作表编号1”或类似的名称。
我可以将工作表名称编写为SSIS用户变量。如果您不反对将脚本任务插入SSIS包,请尝试以下操作:(基于链接文本)
Excel.Application xlApp = new Excel.ApplicationClass(); Excel.Workbook xlWorkBook = xlApp.Workbooks.Open("<Name of your excel app>.xls", 0, xlWorkBook true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 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 */