Чтение номера строки из листа Excel с помощью объекта OLEDB

Я использую объект OLEDB для чтения файла Excel и возврата данных в datatable. Следующий лист Excel содержит два столбца, которые были импортированы, но я хочу также прочитать номер строки Excel вместе с моими данными.

введите описание изображения здесь

Это код, который я использую для чтения файла Excel:

 private DataTable ImportExcel2007(String strFilePath) { if (!File.Exists(strFilePath)) return false; String strExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + strFilePath + ";" + "Extended Properties='Excel 8.0;HDR=Yes'"; OleDbConnection connExcel = new OleDbConnection(strExcelConn); OleDbCommand cmdExcel = new OleDbCommand(); try { cmdExcel.Connection = connExcel; //Check if the Sheet Exists connExcel.Open(); DataTable dtExcelSchema; //Get the Schema of the WorkBook dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); connExcel.Close(); //Read Data from Sheet1 connExcel.Open(); OleDbDataAdapter da = new OleDbDataAdapter(); DataSet ds = new DataSet(); string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; //Range Query //cmdExcel.CommandText = "SELECT * From [" + SheetName + "A3:B5]"; da.SelectCommand = cmdExcel; da.Fill(ds); connExcel.Close(); return ds.Table[0]; } catch { return null; } finally { cmdExcel.Dispose(); connExcel.Dispose(); } } 

Я могу управлять им, увеличивая число с новым столбцом в таблице данных, но могу ли я применить предложение WHERE с оператором SELECT для возврата данных из разных номеров строк (где применение числа с увеличенной строкой может быть неудачным)?

К сожалению, OLEDB не позволяет вам выбирать на основе номера строки. Вы можете использовать что-то вроде этого:

 int rowNum = 0; foreach (DataTable dt in ds.Tables) { dt.Columns.Add("RowNum",typeof(Int32)); rowNum = 1; foreach (DataRow dr in dt.Rows) { dr["RowNum"] = rowNum++; } } 
  • C # ace oledb 12 файл только для чтения
  • C # OleDB Excel получает строки / столбцы с текстом с форматированием
  • Ошибка OLEDB в Visual Studio 2015 не в 2012 году
  • чтение файла excel -> получение значения флажка
  • OLEDB read excel не может обрабатывать данные с помощью специального символа apostrophe (')
  • Столбцы GetOleDbSchemaTable медленны для большого листа
  • Обновление листа Excel с помощью OleDb
  • C # Чтение файла Excel по столбцу Индекс
  • запрос на чтение таблицы Excel с помощью OLEDB
  • Зависимые ячейки Excel не обновляются автоматически
  • Проблема с OleDbConnection, Excel и пулом соединений
  • Interesting Posts

    копировать строки после друг друга

    Получить последнюю доступную дату для определенной категории

    Обнаружение непустого последнего местоположения ячейки с помощью Excel VBA

    Нажмите, чтобы переключить вкладку листа

    Получить данные из загруженного файла Excel без сохранения в файловую систему

    Excel VBA, для цикла игнорировать скрытые строки

    Невозможно использовать INDIRECT в управлении формой в excel

    Изменение цвета кнопки команды ActiveX с макросом

    Пользовательский фильтр для диапазона лет для целевого года рождения

    Общие данные по категориям – таблица Excel / Google Drive

    Ошибка времени выполнения 1004, устанавливающая формулу INDEX в ячейку

    Экземпляр CreateObject ("Excel.Application") ведет себя иначе, чем обычный (point-click) экземпляр

    OLEDB – не может читать листы excel из powershell

    R не распознает ячейки Excel, заполненные кодом API Bloomberg

    Excel Медиана с вложенным выражением if с подстановочными знаками

    Давайте будем гением компьютера.