Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/17: Рейтинг темы: голосов - 17, средняя оценка - 4.88
evgenybe
#1

Проблема считывания числового поля из Excel

02.04.2009, 14:26. Просмотров 3058. Ответов 5
Метки нет (Все метки)

У пользователя есть лист Excel (2003). В нем около 4000 строк и порялка 200 колонок.
В некоторых ячейках, в которых находятся числа в правом верхнем углу появляются зеленые маленькие треугольнички, а рядом примечание, что неверный формат числа.
Когда я пытаюсь считать информацию в DataTable, то в полях, соответствующих таким ячейкам вместо данных System.DbNull
Когда вручную исправляю такие проблемные ячейки (или группы ячеек при помощи макро) в числовом формате - проблема исчезает, но для пользователя это неприемлемо (поиск вручную занимает много времени, и не всегда пользователь может все проблемы найти).

Нельзя ли проблему решить программно в VB?
Спасибо заранее.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2009, 14:26
Ответы с готовыми решениями:

Размер числового поля в dBASE и ошибка: Automation error (Error 440)
Доброе время суток! Помогите, пожалуйста, задать формат числового поля Field3...

Проблема с TreeView в Excel
Помогите разобраться – где я совершаю ошибку: открыл приложение Excel/сохранил...

Excel макрос и VB 6 - проблема вызова
Доброго времени суток, господа! Возникла небольшая проблема (я надеюсь для...

Проблема с Excel dialogsheet controls taborder
Вот столкнулся с такой проблемой: есть диалогшит в екселе, на нем расположена...

Проблема с загрузкой данных из Excel посредством ADO
В Excele есть столбец следующего вида: SKV (это название ) 10 12 ...

5
NickStaves
0 / 0 / 1
Регистрация: 15.12.2007
Сообщений: 381
02.04.2009, 15:44 #2
DataTable?

А код не покажите?
0
evgenybe
02.04.2009, 20:00 #3
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
Dim CNN As New OleDb.OleDbConnection
Dim dt As New System.Data.DataTable
Dim da As OleDbDataAdapter
Dim sSQL As String = "select * FROM [" & sListName & "$A5:HR4000]"
CNN.ConnectionString = strCNN
'CNN.Open()
da = New OleDbDataAdapter(sSQL, CNN)
Try
System.Windows.Forms.Application.DoEvents()
System.Windows.Forms.Application.DoEvents()
da.Fill(dt)
...
NickStaves
0 / 0 / 1
Регистрация: 15.12.2007
Сообщений: 381
09.04.2009, 16:51 #4
Вообщето это VB.NET но не суть.



Попробовал - у меня корректно считываются, но тип колонки - string



А какое форматирование ячейки и значение в ячейке с ошибкой? А то не могу воспроизвести.
0
evgenybe
12.04.2009, 16:34 #5
У меня тип колонки - text.
Число в нем, например 1111
NickStaves
0 / 0 / 1
Регистрация: 15.12.2007
Сообщений: 381
13.04.2009, 14:54 #6
Попробовал. Используя Ваш код - все считывается корректно.

Excel 2002 (10.2710.2625)

Connection string взял с http://connectionstrings.com/excel



Если все-же есть проблема, то можно подключить Microsoft Excel XX Object Library ActiveX и с помощью него либо считать данные либо пофиксить ошибки формата.
0
13.04.2009, 14:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2009, 14:54

Запрос, сравнение поля код и числового поля из разных справочников
Всем доброго времени суток. Возникла проблема, при создании запроса. Есть 2...

Проблема считывания текста с клавиатуры
- Возникла проблема при написании одного, из классов целой программы. Часть...

Проблема считывания файла в массив, а затем в StringGrid
Проблема считывания файла в массив,а затем в StringGrid.Кто нибудь помогите....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru