小编典典

在不知道工作表名称的情况下使用SSIS从Excel导入数据

sql

我有一个电子表格,该电子表格由另一台服务器更新(不受我的控制),我需要自动将数据导入SQL2005。数据始终是电子表格的第一页。但是,该工作表的名称根据行数而变化。

有没有一种方法可以运行SSIS作业,该作业可以从Excel中提取数据而无需事先知道工作表名称?它似乎依赖于工作表名称作为数据源,但是我想告诉它“工作表编号1”或类似的名称。


阅读 206

收藏
2021-03-23

共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 */
2021-03-23