Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение данных с Excel 
:(
    Опции темы
newbie2009
Дата 1.7.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 8.2.2009

Репутация: нет
Всего: нет



Код

    string connectionString = connectionString = "Provider=Microsoft.Jet.OleDb.4.0;data source=" + "test.xlsx" + ";Extended Properties=Excel 8.0;";

            OleDbConnection conn = new OleDbConnection(connectionString);
            try
            {
                conn.Open();
                conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("не удалось соединиться\n" + ex.Message);
                return;
            }

            conn.Open();
            OleDbCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select Val from [Cities$]";
            OleDbDataReader dr = cmd.ExecuteReader();
            dr.Read();
            
            Console.WriteLine(dr["Val"].ToString());

            dr.Dispose();
            cmd.Dispose();


Вот есть такой код , тестовый файла Excel'а находится в папке с проектом, почему то всегда срабатывает исключение и пишет следующее: не удалось соединиться.Обновление невозможно.База данных или объект доступны только для чтения. 

А если использовать такую connection string:
Код

string connectionString = "Provider=Microsoft.Jet.OleDb.4.0;data source='test.xlsx';Extended Properties=Excel 8.0;HDR=Yes;IMEX=1";

То выводит следующие:
не удалось соединиться.Невозможно найти устанавливаемый ISAM



Проблему решил, оказывается надо в конекшенстринг перед ним ставить собачку. То есть должно быть так:
Код

string connectionString = @"Provider=Microsoft.Jet.OleDb.4.0;data source='test.xlsx';Extended Properties=Excel 8.0;HDR=Yes;IMEX=1";

Объясните зачем там эта собачка?


Это сообщение отредактировал(а) newbie2009 - 1.7.2009, 16:24
PM MAIL   Вверх
KelTron
Дата 1.7.2009, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 5
Всего: 38



Для того чтобы строка трактовалась "как есть" и все служебные символы не надо было экранировать слешами.
Например, это:
Код

string s = "\\abc\'ff\'b";

эквивалентно этому:
Код

string s = @"\abc'f'b";






--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
newbie2009
Дата 1.7.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 8.2.2009

Репутация: нет
Всего: нет



Спасибо.
Есть теперь такой вопрос. Как мне теперь реализовать печать того что у меня записано в табличку, к-ыю я записал с Excel?

Это сообщение отредактировал(а) newbie2009 - 1.7.2009, 23:17
PM MAIL   Вверх
newbie2009
Дата 2.7.2009, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 8.2.2009

Репутация: нет
Всего: нет



И еще 1 вопрос, как достать название столбца с таблички?

Понял как получить имя:
 
Код

string  tmpNameCol = dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex].HeaderText;


Помогите с реализацией печати того что у меня записано в табличке, а то пока не знаю как=(



Это сообщение отредактировал(а) newbie2009 - 2.7.2009, 15:49
PM MAIL   Вверх
KelTron
Дата 3.7.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 5
Всего: 38





--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.