Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Excel (не читаются некоторые ячейки), TADOQuery Jet 4.0 
V
    Опции темы
M1ndAction
Дата 20.7.2011, 05:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Добрый день!

Считываю таблицу Excel:

Код

  if dlgOpen.Execute then
    fn := dlgOpen.FileName
  else
    Exit;
  //Получение списка таблиц
  adoGoods.Close;
  ADOConnection.Close;
  ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
    fn+
    ';Mode=ReadWrite|Share Deny None;Extended Properties=Excel 8.0;Persist Security Info=False';
  ADOConnection.Open;
  ADOConnection.GetTableNames(lbTables.Items);
  if lbTables.Count=0 then
    Exit;

  adoGoods.SQL.Text := 'SELECT * FROM ['+lbTables.Items[0]+']'; //WHERE F2 IN ("Ноутбук");';
  adoGoods.Open;


В итоге некоторые ячейки не читаются, то есть остаются пустыми. Например, часть столбца в таблице:
Цитата
4
58
1
>100
80
>100
>100
7

В итоге, числа читаются, а ">100" - нет. Формат ячеек - общий, никакого специального форматирования нет. Еще пример:
Цитата
DELL RU    
89547
85643
84919
84923
84287
85621
TOSHIBA RU    

Не читаются ячейки с числами, но читаются с текстом. Формат ячеек также общий, из форматирования только измененный цвет и размер шрифта (по отношению к остальным ячейкам, которые читаются) числовых ячеек. Ячейки с текстом объединены по строке с несколькими другими.

Для соединения использую TADOConnection и TADOQuery, Delphi 2010, Excel 2010.

PM MAIL   Вверх
M1ndAction
Дата 20.7.2011, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Нашел решение.
В настройках соединения надо Extended Properties=Excel 8.0 заменить на Extended Properties="Excel 8.0; IMEX=1"
Благодаря этому, JET все данные будет воспринимать как текст.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.