|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Уважаемые коллеги! Подскажите, есть ли выход из следующей ситуации. Смысл такой. Некая организация шлет нам запросы в екселевских таблицах. Шлет не по одному файлу, а в архиве их может быть достаточно. Я состряпал небольшую програмульку на vfp9, которая обрабатывает эти файлы. Т.е. алгоритм следующий: по очереди екселевские таблички закидываются в dbf, далее инфа обрабатывается и кидается обратно в есел (не в тот же, а новый). Все работает прекрасно, но есть одно НО!!! Обязательно из всего списка присланных экселевских файлов найдутся несколько файликов (примерно как 6 из 36), которые при операции APPEND FROM либо IMPORT ругаются на кривой формат xls-файла. Обычно я захожу в этот xls-файл и заменяю например символ * в таблице либо на пусто либо на " (т.е. какая то беда со спец символами). После этого обрабатывается файл нормально. Но ведь конечному пользователю нужно, чтобы такого не было (особенно когда запросы обрабатывает начальник отдела (не очень дружащий с ПК и разными ПО)). Для примера вложил архив: 2.xls - кривой запрос (присутствуют *) 1.xls - тот же самый запрос, но убраны все *. tab.prg - для того чтобы не тратить время создание таблички. temp.prg - собственно примеры применяемых комманд APPEND FROM и IMPORT Может кто то сталкивался с данной проблеммой и подскажет как можно обойти проблему. VFP9, MS Office 2003 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 11:36 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Kochegra, Во-первых, не заметил звезд в файлах Экселя. Нужно было выделить эти ячейки. Звезды, как правило, есть следствие неотформатированных по ширине столбцов. Во-вторых. Перед каждым импортом нужно прописать форматы ячеек в столбцах каждой Эксель-таблицы, например, как текстовый. Тогда спецсимволы должны стать читаемыми. В-третьих. Несмотря на все предусморенные меры, все равно найдется таблица, не подходящая под программу. Если возможно, пусть изготовитель таблиц тоже последит за их наполнением, например, при помощи тех же фоксовых программ, выдающих ошибки, если в таблице есть спецсимволы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:09 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
igorbikПеред каждым импортом нужно прописать форматы ячеек в столбцах каждой Эксель-таблицы, например, как текстовый.Имеется ввиду в фоксовой программе, а не вручную. Делается это через Эксель-макросы, в форуме об этом писалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:12 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
по поводу 3-го. В том то и дело, пробовал разговаривать, говорят итак всем пошли на встречу (не только нам шлют, но и другим организациям, а их в городе достаточно), и типа выбрали оптимальный вариант ексель - как файл обмена. Хотя по мне, так лучше бы либо текстовы либо dbf сразу. В общем гос структура, че хотят, то и делают, остальное как хотите :-) по поводу второго не проверял, но тоже не удобно во все файлики заходить и формат задавать. Как говорится время - деньги. Вот если бы какую то (хотя бы внешнюю) програмульку, которая это делает... по первому. В экселе можно поиском * найти. Тока при поиске надо не * писать, а ~*. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:21 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
igorbikigorbikПеред каждым импортом нужно прописать форматы ячеек в столбцах каждой Эксель-таблицы, например, как текстовый.Имеется ввиду в фоксовой программе, а не вручную. Делается это через Эксель-макросы, в форуме об этом писалось. Думал в эту сторону посмотреть. Попробую поискать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:22 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Нашел статейку по переводу макросов в фокс. В целом смыл понятен. Но в примере создается новый файл екселя (CREATEOBJET). А как открыть существующий? Не подскажете? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2010, 13:17 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Kochegra, GETOBJECT() ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2010, 14:55 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
igorbik, не о том вот так Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2010, 16:27 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Наконец то появилось время. Все сделал. ТОлько последнее осталось. Не подскажите как в фоксе сохранить теперьоткрытый ексел с преобразованиями. Т.е. у меня ексел открывается, команды преобразования в формат текстовый выполняется. Осталось только автоматом сохранить и закрыть ексель. Подскажите как можно это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2010, 12:26 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2010, 12:36 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Спасибо! Все классно! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2010, 13:10 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Товарищи! Есть еще такой минус. Делаю: Экспортирую в эксел Код: plaintext
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Код: plaintext 1.
После этого сообщение (в прикрепленном файле) "Файл такойто является Микрософт ексел 2.1. Обновить формат ексель?" Можно ли сделать так, чтобы либо автоматом обновлял (говорил ДА), либо может как то по другому экспортировать? Что скажете. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2010, 09:30 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
тыдынц это я к тому, что у SaveAs куча параметров ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2010, 10:54 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
авторДалее обрабатываю этот эксель переводом макросов экселя в фоксе макросы можно не переводить, а прилепить к открытому файлику и тупо выполнить самим-же ёкселем, будет и шустрее и мозг не нужно ломать, до опред.момента удовлетворения желаний очень просто макросы записываются в самом ёкселе методом жмакания мышом, поэтому проще ети-же макросы и натравливать на какие-то копии подобных ф-ков. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2010, 10:58 |
|
Ошибка формата из xls (2003) в dbf (vfp9)
|
|||
---|---|---|---|
#18+
Kochegra, у екселя есть свойство DisplayAlerts. Если его поставить в .F. то спрашивать ничего не будет, а будет делать что говорят, потом нужно не забывать поставить в .T., а то спрашивать совсем перестанет :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2010, 23:20 |
|
|
start [/forum/topic.php?fid=41&msg=36582138&tid=1585371]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 349ms |
total: | 460ms |
0 / 0 |