Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для nattive
5 / 3 / 2
Регистрация: 21.03.2013
Сообщений: 113
RAD 2009-XE2

Не работает с эксель разных версий

05.12.2024, 12:54. Показов 1046. Ответов 5

Студворк — интернет-сервис помощи студентам
Коллеги, привет!

Столкнулся с такой проблемой, есть код, который экспортирует данные из эксель и вносит их в DBGrid, на машине разработки стоит MS Office 2016, все отлично работает, на машине пользователя - MS Office prof. 2021 - не обрабатывает файл эксель на входе, выдает пустой результат экспорта. Подскажите в чем может быть проблема?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2024, 12:54
Ответы с готовыми решениями:

Конфликты 1С разных версий
День добрый! Есть сервер, на котором установлена Платформа 1С:Предприятие 8.2 (8.2.11.235). В сети 3 компьютера, пользующихся базой...

Загрузка разных версий Windows
Помогите пожалуйста:) На ПК две системы: Вин 7 и Вин ХР. Выбираю в загрузчике семёрку - всё нормально. Выбираю экспишку - не включается. Ни...

Соединение разных версий одной БД
Здравствуйте! Имеется следующая проблема. В базе данных, работающей на SQL 2005 Express, пропала часть информации. До момента обнаружения...

5
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,424
Записей в блоге: 3
05.12.2024, 13:18
Если код работает для MSO2016 и более ранних - скорее всего проблема в MSO2021. Что уж там понакрутили - я понятия не имею, в глаза этого зверя не видел. Но вполне вероятно, что в Вашем коде какой-нибудь подвох, никто же его не видел, окромя Вас. Кидайте проект и файл с данными из проблемного офиса - будем посмотреть.

Добавлено через 4 минуты
Кстати, сейчас вот подумалось: если Вы используете средства работы с БД для подключения таблицы Excel в качестве НД, то очень даже запросто для MSO2021 используется другой провайдер, чем для MSO2016-
1
 Аватар для nattive
5 / 3 / 2
Регистрация: 21.03.2013
Сообщений: 113
05.12.2024, 13:32  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
procedure TForm33.Button3Click(Sender: TObject);
const xlCellTypeLast=$000000B;
VAR
 
s1,s2,s3,s4,s5,s6,s7,s8,s9:String;
excel:Variant;
i,j:Integer;
 
begin
 
excel :=CreateOleObject('Excel.Application');
excel.DisplayAlerts :=False;//отключаем запросы Excel
//excel.Visible := False;
 
if not OpenDialog1.Execute then Exit;
begin
Edit1.Text:= OpenDialog1.FileName;
//  showmessage('передача адреса книги');
 
try
excel.workbooks.Open(Edit1.Text); //открываем книгу Excel
//  showmessage('открыли книгу');
i :=2;   //считываем данные с 2-й строки книги
j := excel.ActiveCell.SpecialCells(xlCellTypeLast).Row;// последняя непустая строка
  // Процедура загрузки
//  showmessage('приступаем к перебору');
 
while i<>j+1 do begin
      s1 :=excel.cells[i,1].value; //считываем значение 1-й колонки
      s2 :=excel.cells[i,2].value; //2-й колонки
      s3 :=excel.cells[i,3].value; //3-й…
      s4 :=excel.cells[i,4].value;// и т.д.
      s5 :=excel.cells[i,5].value;
      s6 :=excel.cells[i,6].value;
      s7 :=excel.cells[i,7].value;
      s8 :=excel.cells[i,8].value;
      s9 :=excel.cells[i,9].value;
 
Form2.ADOConnection1.Connected:=True;
AdoTable1.Active:=False;
AdoTable1.TableName:='TEMP_ACC';
AdoTable1.Active:=TRUE;
AdoTable1.Insert;
AdoTable1.Fields.FieldByName('Barcode_temp').AsString:=s1;// 
AdoTable1.FieldByName('Cod_Nomenkl_List_temp').AsString:=s4;// 
AdoTable1.FieldByName('Name_Nomenkl_List_temp').AsString:=s5;// 
AdoTable1.FieldByName('Q_List_temp').AsFloat:=StrToFloat(s8);// 
AdoTable1.FieldByName('Cod_edIzm_List_temp').AsString:=s6;
AdoTable1.FieldByName('Cod_edIzm_List_Name_temp').AsString:=s7;
AdoTable1.FieldByName('NDS_temp').AsFloat:=StrToFloat(s9);
 
AdoTable1.Post;
inc(i);
AdoTable1.Active:=False;
Form2.ADOConnection1.Connected:=FALSE;
 
  end;
Excel.WorkBooks.Unassigned;
Excel.WorkBooks.Close;
Excel.Unassigned;
Excel.Quit;
 
Except;
end;
end;
Вложения
Тип файла: xls purch_06.11.2024.xls (27.0 Кб, 4 просмотров)
0
 Аватар для nattive
5 / 3 / 2
Регистрация: 21.03.2013
Сообщений: 113
05.12.2024, 15:24  [ТС]
Если поможет - переустановил на ПК разработки тот же офис, что и у пользователя. Все запустилось. Видимо не в версии Excel дело. Может из-за того, что на ПК разработки есть что-то, что было установлено с Delphi.
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
05.12.2024, 17:02
первая проверка - избавиться от всего, кроме непосредственно
Excel открыть
одну строку вписать
Excel закрыть

и сразу понятно
0
21 / 17 / 2
Регистрация: 08.06.2012
Сообщений: 124
06.12.2024, 21:23
Цитата Сообщение от nattive Посмотреть сообщение
Может из-за того, что на ПК разработки есть что-то, что было установлено с Delphi.
скорей у пользователя винда затраханная "чистилками" или вообще "портативная" говносборка офиса поэтому и в реестре никаких "Excel.Application" нет
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.12.2024, 21:23
Помогаю со студенческими работами здесь

Разница в компиляторах разных версий
Пишу я код на Ideone, всё нормально компилируется, работает так, как надо. Захожу постить на e-olymp - ошибка source.hs:8:5: parse error on...

Использование разных версий Python
Приветствую! Имею на борту две разных версии &quot;змеюки&quot;(2.7.3, 3.6.2) По умолчанию в cmd запускается версия, которая прописана в PATH. ...

Установка разных версий The Sims 3
здравствуйте! надеюсь,что Вы мне поможете:) дело в том,что вот у меня,например,были симс 3 (6 в 1),я играла нормально,а потом появился...

ZIP-архивы разных версий
Здравствуйте! Есть определенный архив, скажем, некий XML сжатый в zip-архив Как определить версию архиватора, которым был сделан...

Организовать работу с объектами разных версий
Есть иерархия классов, нескольких версий, например: Тип1v1.0 -Тип1.1v1.0 -Тип1.2v1.0 -Тип1.3v1.0 --Тип1.3.1v1.0 ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru