C# чтение Excel отсутствует столбец - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть файл Excel (.xls) с 4 столбцами, и все столбцы являются «общими» и без заголовка. Столбцы A и B содержат текст, столбец C содержит числа, столбец D содержит текст. Когда я читаю данные (код ниже), читатель может видеть только 3 столбца (A, B, C), читатель не видит (не распознает) столбец D (рисунок ниже). Я добавил IMEX = 1 в строку подключения, я изменил реестр - TypeGuessRows установил его в 0 (изображение ниже), но все это мне не помогло - все еще есть та же проблема. Кто-нибудь знает, почему после столбца, который содержит цифры, JET доза не видит в текстовом столбце?

string sourceFileServer = @"C:\TEST\Excel1.xls";
            using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceFileServer + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\";"))
            {
                OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet1$];", connection);
                connection.Open();
                OleDbDataReader reader = command.ExecuteReader();
                int _row = 0;
                while (reader.Read())
                {
                    _row++;
                    try
                    {
                        string _v0 = ((string)reader[0]).Trim();
                        string _v1 = ((string)reader[1]).Trim();
                        string _v2 = reader[2].ToString().Trim();
                        string _v3 = ((string)reader[3]).Trim();
                        MessageBox.Show(_v0 + "|" + _v1 + "|" + _v2 + "|" + _v3 + "|");
                    }
                    catch (Exception xcp)
                    {
                        MessageBox.Show(xcp.Message);
                    }
                    break;
                }
                reader.Close();
            }

reader реестр

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