Форум: "Базы";
Текущий архив: 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