powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Excel
17 сообщений из 17, страница 1 из 1
Excel
    #33614958
Katrin_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день.

Первый раз работаю с Excel. Брагодаря этому форуму до недавнего времени все удавалось - и работа с шаблоном, и обращение к ячейкам, и т.д.

Возникла задача - загрузки данных в таблицу ДБФ из моего же шаблона. (т.е на одном компьютере происходит заполнение шаблона данными, а на другом их надо перебросить в таблицу).
Шаблон состоит из одной рабочей книги с тремя листами - "Титульный", "Экспорт", "Импорт".
"Титульный" постоянный для всех предприятий - 36 строк.
Кол-во строк "Экспорт\Импорт" - м.б. разное для каждого предприятия.
Загрузка проводится по листам (каждый в свой ДБФ), например :

APPEND FROM e:\hound\eee\rrr.xls TYPE XL8 SHEET "Титульный"

Пока проверяю на двух предприятиях в командном окне. Так вот, если кол-во строк "Экспорт" =42, Импорт - 56 - все проходит нормально. Но если Экспорт=173, Импорт=168 - вылетает ФОКС.

Что я не так делаю ? Ведь 377 строк на файл - это не много. М.б, что-то не так в моем шаблоне ?
...
Рейтинг: 0 / 0
Excel
    #33614992
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкладывайте пример который не грузится. Количество строк тут непричем ИМХО...
...
Рейтинг: 0 / 0
Excel
    #33615045
Katrin_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выкладываю файлы.

Шаблон - obraz.xlt

Файлы, полученные на основе моего шаблона :
грузится - gruz.xls
Не грузится - NE_gruz.xls

Грузить пока пробую в командном окне.

USE e:\hound\hound\rab\gruzilo.dbf exclu
ZAP
APPEND FROM e:\hound\yyy\gruz.xls TYPE XL8 SHEET "Импорт"
BROWSE &&& все нормально

USE e:\hound\hound\rab\gruzilo.dbf exclu
ZAP
APPEND FROM e:\hound\yyy\ne_gruz.xls TYPE XL8 SHEET "Импорт"

Вот тут и выдает : Fatal error .... vfp8err.log
...
Рейтинг: 0 / 0
Excel
    #33615171
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что именно грузится то? Так же по шаблонам и не скажешь... Надо еще таблицу gruzilo :-)

На мой взгляд не грузится потому что есть разрывы. А вообще куча вариантов может быть... Это ущербный вариант работы. Используйте перебор ячеек - и читайте из них а то загрузить то Вы загрузите вто только что это будет непонятно - никакой структуры и анализ будет невнятен совершенно...
...
Рейтинг: 0 / 0
Excel
    #33615252
Katrin_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за содействие. Мне казалось, что перебор по ячейкам в Excel - дело долгое. Быстрее загрузить в ФОКС и перебирать уже там.

Приложен файл.
...
Рейтинг: 0 / 0
Excel
    #33618772
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Katrin!

Загрузить через OLE можно и быстро - если грузить не по одной ячейке, а
"пачками" - обращаясь через laData = loSheet.Range("A1:J500").Value - в
массиве будут соответствующие данные. Главое не забывать про ограничения на
размер массива (если бы у тебя был VFP9 то ограничения на размер там уже не
так существенны). Для оптимальности загрузки лучше сначала определить
"заполненную область" (есть метод - правда тут всё зависит от того насколько
акуратно заполнен лист) - чтобы длинных лишних "хвостов" не тянуть.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Excel
    #33619352
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Igor Korolyov

Можно поподробнее как это пачками?
...
Рейтинг: 0 / 0
Excel
    #33619384
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написано же чего подробнее то?

laData = loSheet.Range("A1:J500").Value

Это называется через массив или пачками. :-))))))))
...
Рейтинг: 0 / 0
Excel
    #33619661
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как это в 9-е ограничение массива не важно? Какое ж там тогда ограничение?
...
Рейтинг: 0 / 0
Excel
    #33619684
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это значит что в 9 убрали ограничение в 65535 элементов массива. Это иногда бывает мало.
...
Рейтинг: 0 / 0
Excel
    #33619934
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть массив на 3 столбца и 144000 строк. как мне указывать что мне нужно вывести блок (только весь первый столбец)?
...
Рейтинг: 0 / 0
Excel
    #33620022
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты в Excel-е укажи только один столбец и все.
...
Рейтинг: 0 / 0
Excel
    #33620161
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Петров Андрей

Неработает. вот я пишу
array_count = ALEN(array_losts,1)
где array_losts массив из 3 строк. и мне надо в экселе разместить их.
.sheets(2).range("A3:A"+ALLTRIM(STR(array_count+2))).value = array_losts
.sheets(2).range("B3:B"+ALLTRIM(STR(array_count+2))).value = array_losts
.sheets(2).range("C3:C"+ALLTRIM(STR(array_count+2))).value = array_losts
Как правильно писать? Загонка значений в эксель через массивы никогда не делал.
...
Рейтинг: 0 / 0
Excel
    #33620177
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин ну ваще все тебе расскажи. А поиск для чего...

Надо потому чта через ссылку на массив передавать. Делаешь функцию и через нее получаешь ссылку на массив.
...
Рейтинг: 0 / 0
Excel
    #33620191
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне проект надо здавать через час. Времени нет поэтому и спрашиваю как это делаеться.
...
Рейтинг: 0 / 0
Excel
    #33620271
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как делать эти ссылки?
...
Рейтинг: 0 / 0
Excel
    #33620286
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ээээх

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Вот код от Игоря Королева:


m.loSheet.Range("A1:J10").Value = ArrayPasser("m.paArray")  
  FUNCTION ArrayPasser(lcName)  
    RETURN @&lcName.  
  ENDFUNC
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]