|
|
|
Excel
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. Первый раз работаю с Excel. Брагодаря этому форуму до недавнего времени все удавалось - и работа с шаблоном, и обращение к ячейкам, и т.д. Возникла задача - загрузки данных в таблицу ДБФ из моего же шаблона. (т.е на одном компьютере происходит заполнение шаблона данными, а на другом их надо перебросить в таблицу). Шаблон состоит из одной рабочей книги с тремя листами - "Титульный", "Экспорт", "Импорт". "Титульный" постоянный для всех предприятий - 36 строк. Кол-во строк "Экспорт\Импорт" - м.б. разное для каждого предприятия. Загрузка проводится по листам (каждый в свой ДБФ), например : APPEND FROM e:\hound\eee\rrr.xls TYPE XL8 SHEET "Титульный" Пока проверяю на двух предприятиях в командном окне. Так вот, если кол-во строк "Экспорт" =42, Импорт - 56 - все проходит нормально. Но если Экспорт=173, Импорт=168 - вылетает ФОКС. Что я не так делаю ? Ведь 377 строк на файл - это не много. М.б, что-то не так в моем шаблоне ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 16:54 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Выкладывайте пример который не грузится. Количество строк тут непричем ИМХО... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 17:02 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Выкладываю файлы. Шаблон - 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 17:16 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
А что именно грузится то? Так же по шаблонам и не скажешь... Надо еще таблицу gruzilo :-) На мой взгляд не грузится потому что есть разрывы. А вообще куча вариантов может быть... Это ущербный вариант работы. Используйте перебор ячеек - и читайте из них а то загрузить то Вы загрузите вто только что это будет непонятно - никакой структуры и анализ будет невнятен совершенно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 17:46 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Спасибо за содействие. Мне казалось, что перебор по ячейкам в Excel - дело долгое. Быстрее загрузить в ФОКС и перебирать уже там. Приложен файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 18:04 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Hi Katrin! Загрузить через OLE можно и быстро - если грузить не по одной ячейке, а "пачками" - обращаясь через laData = loSheet.Range("A1:J500").Value - в массиве будут соответствующие данные. Главое не забывать про ограничения на размер массива (если бы у тебя был VFP9 то ограничения на размер там уже не так существенны). Для оптимальности загрузки лучше сначала определить "заполненную область" (есть метод - правда тут всё зависит от того насколько акуратно заполнен лист) - чтобы длинных лишних "хвостов" не тянуть. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 01:57 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
2 Igor Korolyov Можно поподробнее как это пачками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 10:56 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Написано же чего подробнее то? laData = loSheet.Range("A1:J500").Value Это называется через массив или пачками. :-)))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 11:03 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
А как это в 9-е ограничение массива не важно? Какое ж там тогда ограничение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 11:58 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Это значит что в 9 убрали ограничение в 65535 элементов массива. Это иногда бывает мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 12:04 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
есть массив на 3 столбца и 144000 строк. как мне указывать что мне нужно вывести блок (только весь первый столбец)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 12:49 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
А ты в Excel-е укажи только один столбец и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 13:05 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
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 Как правильно писать? Загонка значений в эксель через массивы никогда не делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 13:37 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Блин ну ваще все тебе расскажи. А поиск для чего... Надо потому чта через ссылку на массив передавать. Делаешь функцию и через нее получаешь ссылку на массив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 13:40 |
|
||
|
Excel
|
|||
|---|---|---|---|
|
#18+
Мне проект надо здавать через час. Времени нет поэтому и спрашиваю как это делаеться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 13:43 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33619384&tid=1592066]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
174ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 501ms |

| 0 / 0 |
