Чтение файла Excel с помощью oledb в задаче «Сценарий» - PullRequest
1 голос
/ 30 марта 2020

Я пытаюсь прочитать данные из Excel с помощью команды oledb в задаче сценария служб SSIS. В Excel нет имен листов. Я получаю сообщение об ошибке, так как имя листа пусто. Ниже используется код

excelConnection = new OleDbConnection(excelConnectionString);
                excelConnection.Open();  

                DataTable excelDataTable = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                string excelSheetName = string.Empty;

                foreach (DataRow row in excelDataTable.Rows)
                {
                    excelSheetName = row[0].ToString().Trim("'".ToCharArray());
                    //Console.writeLine(excelSheetName);
                }

                OleDbDataAdapter excelAdapter = new OleDbDataAdapter();
                OleDbCommand excelCommand = new OleDbCommand();
                DataSet excelDataSet = new DataSet();

                excelCommand.Connection = excelConnection;
                excelCommand.CommandText = "Select * from [" + excelSheetName + "]";
                excelAdapter.SelectCommand = excelCommand;

                excelAdapter.Fill(excelDataSet);  // error here

Как это исправить? Спасибо

1 Ответ

1 голос
/ 30 марта 2020

Я исправил это, используя - excelSheetName = row ["TABLE_NAME"]. ToString ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...