Как предотвратить исключение «Несоответствие данных», когда OleDbDataReader читает несколько типов данных из Excel?(Общее, Дата, Время, Процент и т. Д.) - PullRequest
0 голосов
/ 26 марта 2019

Я работаю с Excel и C #.Я пытаюсь получить данные с помощью OleDbDataReader и напечатать «что-то», если выполняется условие «если».Условие if работает нормально, когда значения в ячейках Excel представляют собой все тексты.Распечатывает «что-то».Но если ячейка содержит какие-либо данные другого типа (щелкните правой кнопкой мыши по ячейке Excel и выберите форматирование ячейки, чтобы увидеть ваш тип), например «Дата» или любую вещь, в которой есть номер, она не проверяет условие if.Дано исключение несоответствия данных.

Насколько я понимаю, OleDbData работает только при наличии текста и выдает исключение при наличии данных другого типа.

Этот фрагмент кода может дать представление о том, что я пытаюсь выполнить.

    OleDbConnection file1_connection = new OleDbConnection(file1_conn);
    file1_connection.Open(); 
    .
    .
    //other code irrelevant to the problem
    .
    . 

    string extractfile1Query = "SELECT * from [Sheet1$] WHERE " + file1_Header 
                                 + "='" + file1_rowVal + "'";
    OleDbCommand file_getRowCommand = new OleDbCommand(extractfile1Query, 
                                       file1_connection);
    OleDbDataReader file1_getRowReader = file1_getRowCommand.ExecuteReader();

     if (file1_getRowReader.HasRows)
                                      {

                                         Debug.WriteLine("something")
                                      }

//file1_Header and file1_rowVal are defined in other parts of code

Я хочу, чтобы условие if выполнялось независимо от того, какой тип данных находится в ячейке Excel, и печатать "что-то".Есть ли обходной путь для этого, так как мои данные будут содержать разные типы вещей, такие как дата, время, номер, включая текст?

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