Падает VFP при попытке импорта XLS | |
---|---|
MiD_E34 Автор Сообщений: 65 Дата регистрации: 26.01.2006 |
VFP 9.0: при импорте (Append from...) совсем нетяжелого файла в формате Excel 97 падает намертво. Если файл-исходник сохранить как xls 5й версии, то процесс заканчивается нормально. Причем, насколько помню, пару лет назад работало нормально и с версией 97-2003. Возможно ли, что проблема связана с установкой W10? Или еще какие идеи?
|
Re: Падает VFP при попытке импорта XLS | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
|
Re: Падает VFP при попытке импорта XLS | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Через OLEDB не работал, но обычным способом через автоматизацию самого экселя (OLE) на win10 проблем нет, проверено на практике, экспорт в Excel97/2003/2016 (разные версии на разных машинах)
Исправлено 2 раз(а). Последнее : AndyNigmatec, 27.08.19 19:18 |
Re: Падает VFP при попытке импорта XLS | |
---|---|
Vedmak Сообщений: 5967 Откуда: CiTY Дата регистрации: 30.10.2003 |
+1. Медленно, но надежно. ------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Падает VFP при попытке импорта XLS | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
- ежели выводить через массив - то достаточно шустро (ну если комп конечно не совсем дрова)))) |
Re: Падает VFP при попытке импорта XLS | |
---|---|
MiD_E34 Автор Сообщений: 65 Дата регистрации: 26.01.2006 |
Спасибо всем ответившим.
Возможно я неудачно описал проблему. Мне нужно импортировать таблицу из Excel в таблицу VFP. Пустая таблица VFP повторяет структуру эксел. Пока у меня число записей невелико, но оно растет и скоро превысит предел формата Excel5, а попытка загрузить из Excel 97-2003 ведет к краху VFP. Выше же советы идут на то, что бы заполнить Excel из VFP |
Re: Падает VFP при попытке импорта XLS | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Ну почему же, таким же образом через OLE механизм и импортирую, причем ежели импортировать уже структуированные данные - то можно через массив что весьма шустро работает...
вот для наглядного примера выдрал кусок (именно выдрал - для запускабельного нужно чутка переделать): причем версия MS-офиса значения не имеет - лишь бы та что установлена заведомо открывала нужную эксельку. И да, это один из минусов OLE - сам офис (Excel) должен быть установлен на компе Исправлено 2 раз(а). Последнее : AndyNigmatec, 28.08.19 14:22 |
Re: Падает VFP при попытке импорта XLS | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
У меня не было такой проблемы. И я что-то забыл.
Есть 2 конкурирующих способов по быстродействию 1. Читать в Фокс массивом, это проще, а я не могу быстро объяснить подробно. Это не больше, чем подсказка FUNCTION aGetValues LPARAMETERS laArray, loSheet, lcRange LOCAL lnLastCol, lnLastLine IF TYPE('loSheet.Name')#'C' m.loSheet=THIS.ActiveSheet() ENDIF IF EMPTY(m.lcRange) STORE 0 TO m.lnLastLine, m.lnLastCol THIS.LastCell( m.loSheet, @m.lnLastLine, @m.lnLastCol) m.lcRange = 'A1:' + Range_N2C(m.lnLastLine,m.lnLastCol) ENDIF m.laArray=m.loSheet.RANGE(m.lcRange).VALUE 2. Читать по передаче в _Cliptext Исправлено 1 раз(а). Последнее : Ydin, 28.08.19 12:49 |
Re: Падает VFP при попытке импорта XLS | |
---|---|
MiD_E34 Автор Сообщений: 65 Дата регистрации: 26.01.2006 |
Да, ступил, спасибо. Сейчас буду пробовать
|
Re: Падает VFP при попытке импорта XLS | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Вот вам простой запускабельный пример импорта, тестовый файл из которого заточен этот пример прикрепил к сообщению
(всяческие проверки и TRY-и опустил ессно - это по вкусу добавляется в рассол))))
Исправлено 2 раз(а). Последнее : AndyNigmatec, 28.08.19 14:34 |
Re: Падает VFP при попытке импорта XLS | |
---|---|
MiD_E34 Автор Сообщений: 65 Дата регистрации: 26.01.2006 |
Работает. Спасибо. Сейчас попробую на большом объеме данных.... 40000 записей Excel97-2003 за 5 сек примерно импортировались. Уфф - проблема решена, спасибо! Исправлено 1 раз(а). Последнее : MiD_E34, 28.08.19 17:25 |
Re: Падает VFP при попытке импорта XLS | |
---|---|
AndyNigmatec Сообщений: 1573 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Не за что )))
И это не проблема даже - стандартный способ, имеющий ряд минусов - самый главный из которых - необходимо наличие установленного офиса на машине. |
Re: Падает VFP при попытке импорта XLS | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Вообще, конечно, IMPORT/APPEND FROM должны работать и с excel 97 - там для того тип-опция XL8 предназначена, НО... Все эти импорты зашитые в систему крайне капризные, и могут ломаться буквально на пустом месте - то какую закорючку на краю листа пропустил, то какие фишечки более нового офиса пролезли в документ даже сохранённый "как эксель 97". Да и сам эксель 97 это уже нереальный антиквариат. Потому всё же лучше будет импортировать другими способами. Из нх помимо автоматизации самого экселя (о чём выше и писалось) можно предложить банальный экспорт данных в текстовый формат (разделённый запятими, табуляторами или ещё какой вариант) - это можно даже автоматизированно макросом делать, чтобы не пугать пользователя диалогом save as
------------------ WBR, Igor |
Re: Падает VFP при попытке импорта XLS | |
---|---|
of63 Сообщений: 25244 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
+ 50 баллов Игорю Королёву!
|
Re: Падает VFP при попытке импорта XLS | |
---|---|
MiD_E34 Автор Сообщений: 65 Дата регистрации: 26.01.2006 |
Вообще, решение, предложенное AndyNigmatec, работает с любыми версиями Офиса. У нас все машины с Офисом (разных версий - от 2010 до последней) и я не заморачиваюсь теперь с версиями импортируемого файла. |
Re: Падает VFP при попытке импорта XLS | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
APPEND FROM ARRAY laData
Imho, от версии Офиса не зависит. Только от содержимого массива laData |
© 2000-2024 Fox Club  |