![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
SIRIUStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 20.7.2007 Где: Одинцово Репутация: нет Всего: нет |
Здравствуйте! У меня возникла проблема при чтении файла Excel через OleDbConnection( Соединение устанавливается, данные из таблицы xls запихиваются в DataTable, но не все. Не могу понять в чем дело( В место чистовых данных получаются пустые строки. Некоторые числа проходят нормально, некоторые нет. Со строками тоже самое(( Что делать? Может есть какая другая возможность вытащить данные из xls на С#?
Заранее спасибо Это сообщение отредактировал(а) SIRIUStar - 27.8.2007, 11:16 |
|||
|
||||
Papirus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Увы! К сожалению в ексель полная свобода действий + автоопределение типа вставленных/введенных данных. Поэтому, если в каком-нть столбце листа екселя в первых 8 строках драйвер распознает числовой тип, а некоторые данные сохранены как текст (хотя ВЫГЛЯДЕТЬ могут как числа) - они будут считаться NULL. И наоборот - игнорируются числовые в текстовом столбце. Сам я сколько ни ломал свою бестолковку, так ничего и не нашел, чтобы выбирать данные из екселя с помощью ADO & ADO.NET. Тем более и юзверя у нас могут запросто влепить в список фиг знает что... Например, в поле "Количество" такой текст: "Количество введем позже". Так что при необходимости приходится в циклах, поячеечно, проверяя содержание, и, явно преобразовывая типы. ![]() |
|||
|
||||
Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: 3 Всего: 17 |
Было здесь
Если все данные импортировать как текст, что тогда получится? Второй вариант (не лучший, но когда ничего другого не остается...) - взаимодействие с Эксель через СОМ -------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
SIRIUStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 20.7.2007 Где: Одинцово Репутация: нет Всего: нет |
Спасибо за ответы! Попробую сделать через ком) Может че получится
![]() |
|||
|
||||
martikan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.10.2007 Репутация: нет Всего: нет |
Hi!
There was the bug. There is the link with information about bug. http://www.dotnet247.com/247reference/msgs/37/187667.aspx Добавлено через 2 минуты и 26 секунд Hi! Also , please, use Microsoft Office SP3!! |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |