:: Visual Foxpro, Foxpro for DOS
Чтение информации из Excel
irinaa
Автор

Сообщений: 175
Откуда: Владимир
Дата регистрации: 16.06.2006
Доброе время суток. До недавнего времени прекрасно работала программа на VFP9, которая читала файлы Excel (97-2003, 2010), обрабатывала из них информацию и создавала различные отчеты.
Для чтения таблиц использовала следующие команды (спасибо форуму, взято оттуда):
lcConnstr = [Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};]+[DBQ=]+"C:\TEMP\"+lNameF
lnSQLHand = SQLSTRINGCONNECT(lcConnstr)
IF lnSQLHand = -1
=MESSAGEBOX("Не могу соединиться с Excel !", 16, "Ошибка")
WAIT clear
RETURN .F.
ENDIF

На днях прошло обновление системы. После него программа Excel-таблицу может обработать только один раз, на второй раз вылетает с такой ошибкой:
Серьезная ошибка: Код исключения=C0000005 @ 14.02.2020 08:41:55. Файл журнала ошибок: P:\УОИ\VFP9Rerr.log
Вызов из - readexcel line 2763 {P:\fox_main\prg\foxfunci.prg foxfunci.fxp}

То есть, если для формирования отчета надо взять данные из 2-х таблиц, то первая обрабатывается нормально, а на второй вылетает.

Может быть кто-то сталкивался с такой проблемой и сможет что-то подсказать?
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
А какая система? Какой офис? Что за "обновления"? Лучше такие вещит сразу уточнять.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
irinaa
Автор

Сообщений: 175
Откуда: Владимир
Дата регистрации: 16.06.2006
Windows 7, Office 2016. Какое обновление - я конечно же не знаю. Машины доменные.
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
irinaa
line 2763 {P:\fox_main\prg\foxfunci.prg foxfunci.fxp}

На какой команде line 2763 валится?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Вряд ли из этой оперы, но несколько мес. назад перестала работать программа на VBA, без фокса. На некотрых операторах VBA (ARRAY? не помню) вешается, с какой-то дурацкой ошибкой (тоже не помню, С005 или VBA-шная). Тоже эффект стал наблюдаться после установки обновлений ОС, без установки необязательных обновлений. Установка необязательных (что-то с офисом было в их числе) проблему убрала. Что это было, так и не поняли, но эффект наблюдался не только у нас, и именно с последним офисом.
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
irinaa
Автор

Сообщений: 175
Откуда: Владимир
Дата регистрации: 16.06.2006
команда:
lnSQLHand = SQLSTRINGCONNECT(lcConnstr)
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
pasha_usue

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
of63
Вряд ли из этой оперы, но несколько мес. назад перестала работать программа на VBA, без фокса. На некотрых операторах VBA (ARRAY? не помню) вешается, с какой-то дурацкой ошибкой (тоже не помню, С005 или VBA-шная). Тоже эффект стал наблюдаться после установки обновлений ОС, без установки необязательных обновлений. Установка необязательных (что-то с офисом было в их числе) проблему убрала. Что это было, так и не поняли, но эффект наблюдался не только у нас, и именно с последним офисом.
Безопасность они меняли на COM, DCOM, ADO, ODBC и иже с ними.
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
AndyNigmatec

Сообщений: 1552
Откуда: Волгоград
Дата регистрации: 28.06.2015
А ежели через OLE попробовать прочитать - получается?
Если трюком через массив считывать - то все довольно шустро ... правда это все равно OLE ... т.е. создание экземпляра эксельки и т.п. ...



Исправлено 1 раз(а). Последнее : AndyNigmatec, 14.02.20 19:03
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Кстати, вспомнил, что винда все ускоряет. Попробуй задержку вставить между считываниями файлов Эксель, типа =INKEY(1)

() Наверное совпадение, не могу вставить кусок большой таблички экселя (поддон с суммами) в письмо аутлука, крутится колечко, повис и аутлук и эксель...
Вешается всё. Из экселя в верд тоже не могу, вешаются оба. Мда... 20К записей в экселе, 10 колонок, копирую с 5-к строчек - заголовки закрепленные вверху, и суммы по колонкам Походу он эти несчастные 20 тыс записей копирует тоже что-ли... Ага, ясно, нельзя брать большой диапазон в копию. 20 тыс записей в экселе, это перебор походу... заточен под учебные примеры.



Исправлено 5 раз(а). Последнее : of63, 14.02.20 19:41
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
A SQLDISCONECT() перед SQLCONNECT() делается?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
dfr

Сообщений: 254
Откуда: Барнаул
Дата регистрации: 29.07.2005
Активация офиса не слетела?
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
Rifat

Сообщений: 32
Дата регистрации: 06.02.2012
С безопасностью MS накрутило, на клиентах надо настраивать офис на безопасность документов (можно по месту расположения).
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
BOBAN

Сообщений: 624
Откуда: Солигорск
Дата регистрации: 05.07.2004
А такое попробовать

praisachion.blogspot.com
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
irinaa
Автор

Сообщений: 175
Откуда: Владимир
Дата регистрации: 16.06.2006
Я там ничего не поняла. Причем здесь распаковка файла? Наверное перейду на .CSV или что-то другое.
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
AngelOKES

Сообщений: 828
Дата регистрации: 08.02.2012
NamShFull=Getfile('xls,xlsx,xlsm')
mPath=Justext(NamShFull)
loExcel = Createobject('Excel.Application')
loBook = loExcel.Application.Workbooks.Open(NamShFull)
loActiveSheet = loBook.Worksheets(1).Activate
loSheet = loBook.Worksheets(1)
With loSheet
а тут уже делайте всё что хотите
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
irinaa
Автор

Сообщений: 175
Откуда: Владимир
Дата регистрации: 16.06.2006
Так все получается. Но кроме одной машины. Там на команде
loExcel = Createobject('Excel.Application')

лезет такая ошибка
Ошибка № 1426 класс: activex
Программа: raschkommun2
Сообщение: Ошибка OLE, код 0x80004023: A Microsoft Software Installer error was encountered.
Ошибка OLE, код 0x80004023: A Microsoft Software Installer error was encountered.
Строка: (80004023: A MICROSOFT SOFTWARE INSTALLER ERROR WAS ENCOUNTERED)
Линия № 1843
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
AngelOKES

Сообщений: 828
Дата регистрации: 08.02.2012
Может Excel не установлен
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
pasha_usue

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
AngelOKES
Может Excel не установлен
Может и установлен, но в момент подключения пытается какие-то компоненты доставить. Но прав не хватает. Лучше всего переустановить офис.
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Может быть, с офисом всё в порядке, но у юзера нет прав выполнять некоторые операции?
Ratings: 0 negative/0 positive
Re: Чтение информации из Excel
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Simple777
Может быть, с офисом всё в порядке, но у юзера нет прав выполнять некоторые операции?
Угу, например, доустановку компонентов офиса. О чем и было сказано. И о чем сообщил Microsoft Software Installer.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 20 (Гостей: 20)

© 2000-2024 Fox Club 
Яндекс.Метрика