Я постараюсь максимально понятно объяснить свое беспокойство:
Я создаю пакет SSIS, импортирующий данные из источника Excel, и загружаю их в таблицу SQL.
Я могу без проблем получить данные, используя имя листа, но этот пакет циклически перебирает несколько файлов Excel с разными именами листов, положением листа (для файла X индекс листа равен 0, для файла Y индекс листа равен 4 и так далее). ), поэтому мне нужно получить имя таблицы данных (имя одинаковое для всех файлов Excel, но размеры разные.)
Вот что я хочу получить: состав файла Excel
[*]Зеленый = имя таблицы данных (имя, которое я хочу получить в пакете SSIS) [*]Желтый = содержимое таблицы данных (данные хранятся в таблице, только те данные, которые я хочу получить) [*]Красный = имя листа (информация по умолчанию, которую я получаю в пакете, но не адаптированную к потребностям здесь)
Я настроил задачу Srcipt, чтобы получить все таблицы, хранящиеся в этом файле Excel, с помощью следующего кода:
строка excelFile; строка ConnectionString; OleDbConnection ExcelConnection; Таблицы DataTableInFile; строка текущей таблицы; int tableIndex = 0; строка [] excelTables = новая строка [5]; excelFile = Dts.Variables["ИмяФайла"].Значение.ToString(); ConnectionString = String.Format("Provider=Microsoft.ACE.OLEDB.16.0;Data Source={0};Extended Properties=\"EXCEL 12.0 XML;HDR=YES;\"", excelFile); excelConnection = новый OleDbConnection (connectionString); ExcelConnection.Открыть(); tableInFile = excelConnection.GetSchema("Таблицы"); foreach (DataRow tableInFile в tableInFile.Rows) { currentTable = tableInFile["TABLE_NAME"].ToString(); excelTables[tableIndex] = currentTable; ТабличныйИндекс += 1; } Dts.Variables["ExcelTables"].Value = excelTables; Но вот результат, который я получил после выполнения: сохраняется только значение «Sheet1$», и никаких новостей из моей таблицы данных

Пожалуйста, помогите мне с этой темой