Данные из Excel в dataGridView - PullRequest
       4

Данные из Excel в dataGridView

0 голосов
/ 22 ноября 2011

У меня странная проблема.Например, я загружаю файл .xls с 10 строками, и одна из них имеет длинную строку в столбце B, поэтому иногда он не загружает всю строку в dataGridView.Согласно другим строкам файла Excel загружается целая строка или нет.

Знаете ли вы, почему?

Надеюсь, я это хорошо объяснил.Извините, мой плохой английский.

Спасибо

РЕДАКТИРОВАТЬ:

Вот мой код для загрузки dataGridView:

    string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.xls;Extended Properties=""Excel 8.0;HDR=YES;""";

        DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");

        DbDataAdapter adapter = factory.CreateDataAdapter();

        DbCommand selectCommand = factory.CreateCommand();
        selectCommand.CommandText = "SELECT * FROM [sheet1$]";

        DbConnection connection = factory.CreateConnection();
        connection.ConnectionString = connectionString;

        selectCommand.Connection = connection;

        adapter.SelectCommand = selectCommand;

        data = new DataSet();

        adapter.Fill(data);

        dataGridView1.DataSource = data.Tables[0].DefaultView;

1 Ответ

0 голосов
/ 23 ноября 2011

Это ограничение поставщика OLE Jet, которое обычно вызывается количеством сканируемых строк, чтобы угадать, как долго будет заполняться это поле.Вы можете отредактировать свой реестр, чтобы расширить его, но вы потеряете производительность, если у вас действительно длинные таблицы.

Если это действительно проблема, то вам нужно отредактировать ключ реестра "ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ\ Microsoft \ jet \ 4.0 \ Двигатели \ excel "от 8 до 0.

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