Главная страница
    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.009 c
3-1122729432
r2d2
2005-07-30 17:17
2005.09.11
как обнулить автоикрементное поле в таблице Paradox?


1-1124236886
rosl
2005-08-17 04:01
2005.09.11
XML


2-1123618797
ronyn
2005-08-10 00:19
2005.09.11
Разобраться с координатами курсора.


14-1124017865
ocean
2005-08-14 15:11
2005.09.11
Обновил Windows,


4-1121405226
kblc
2005-07-15 09:27
2005.09.11
MDI окна





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский