Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Вниз

проблемы работы с excel через ado   Найти похожие ветки 

 
Andy Nortsov   (2005-07-30 21:07) [0]

Доброе время суток
При чтении данных из excel  через ado типа
ADOQuery1.fieldbyname("EXTERNAL_NUMBER").Value если строковые данные то , ок, если числовые то возвращает null, если читать  как asString  то в оле где стоит число возвратит "", Как эту ситуацию разрулить


 
DrPass ©   (2005-07-30 21:57) [1]

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


 
Andy Nortsov   (2005-07-30 22:05) [2]

ставил, не помогает, в колонке смешанные данные в одной ячейке текст в другой только числа, да и потом что ж открывать экскль чтоб колонку исправить?


 
sniknik ©   (2005-07-30 22:19) [3]

мало информации, непонятно что к чему там у тебя.
но есть пара моментов работы екселевскими файлами через ADO может помочь
первое, работать можно только с данными, формулы/форматирование недоступны (если там где говориш числа, у тебя на самом деле формула... то null в это случае это нормально)

второе тип поля определяется по первым нескольким строкам (количество задается количество в реесте)  при определении типа как числовое, строки в нем будут уже игнорироваться.

ну и третье (перебор уже да ;)) воспринимается таблица как текстовая, т.е. удаления строк из нее методами работы с таблицами невозможны... (еше какието связанные с этим ограничения есть)

ну а чтобы увидеть всю возможную информацию из таблици надо в строку конекта добавить HDR=No;IMEX=1 (первый параметр - нет заголовков второй - все воспринимать текстом (второе без первого не работает)) тогда определения типов не будет, все передастся текстом (а текст все стерпит ;).

> В базах данных, в отличие от электронных таблиц, в одном столбце не допускаются данные разных типов
в mssql-е есть тип данных вариант... правда я с ним не работаю, стараюсь. (недоверие у меня к нему какоето ;о))) но он тем не менее есть. ;)


 
Andy Nortsov   (2005-07-30 23:45) [4]

Спасибо, теперь понятнее, меня интересует второй пункт, мне просто надо читать данные, к-е я и выгружал, т.е. импортировать, то что я экспортирую без всяких формул, очень понравился параметр IMEX=1, но у меня есть заголовки полей. Неужели из этой ситуации никак не выкрутится? так все было удобно... Мне ПРОСТО надо чтоб был везде текст, а не менялся тип данных при считывании.


 
sniknik ©   (2005-07-31 00:09) [5]

выкрутится можно.
реальные названия полей будут F1, F2, ... Fn, а твои станут данными в первой строке. учитавй это да и все.


 
Andy Nortsov   (2005-07-31 03:10) [6]

ок, спасибо, попробую



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
1-1124246971
Киря
2005-08-17 06:49
2005.09.11
Как ускорить работу программы


2-1123268388
Peter1
2005-08-05 22:59
2005.09.11
есть ли разница в объявлении таких процедур?


14-1124164520
Jonikeidg
2005-08-16 07:55
2005.09.11
Перенос видео с касеты на комп


9-1115814093
Solid
2005-05-11 16:21
2005.09.11
Твердотельное моделирование


14-1124296217
cyborg
2005-08-17 20:30
2005.09.11
:) обновление Windows Update





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский