powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Экспорт данных из Excel в Visual FoxPro(dbf-файл).
45 сообщений из 45, показаны все 2 страниц
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37146918
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста.
Вопрос жизни и смерти.

Есть ли способ перевода таблиц Excel'я в файлы FoxPro.
Таблицы достаточно большие.
Версия Excel 2007.
Версию FoxPro назвать не могу,нет способа на данный момент узнать версию,тк не имею под рукой установленной версии FoxPro на компьютере пользователя.Дозвонится тоже не могу.
Может есть какие-то решения хотябы примерные напишите пожалуйста последовательность,завтра срочно с утра нужно настроить.


Подскажите,я отблагодарю небольшой суммой на электронный кошелёк или телефон.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37146955
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Способов очень много. Зависит от разных условий

В простейшем случае

APPEMD FROM ... TYPE XL8

Случай чуть посложнее

http://forum.foxclub.ru/read.php?29,478107,478121#msg-478121

В совсем тяжелых случаях просто открывают экземпляр Excel и считывают данные по ячеечно.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37146980
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Вы не могли бы поподробнее рассказать,я просто первый раз с этой проблемой столкнулся
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147007
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так посмотрите по ссылке (синий подчеркнутый текст. По нему щелкнуть левой клавишей мыши). Там достаточно подробно все расписано
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147277
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Извините.
Я узнал версию FoxPro. 5 версия
Ссылку посмотрел,но не понятно куда прописывать этот код и как его компилировать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
store SQLSTRINGCONNECT(; 
"DRIVER={Microsoft Excel Driver (*.xls)};" + ; 
"FIL=Excel 2007;" + ; 
"DefaultDir=С:\...\;" + ; 
"DBQ=С:\...\МойФайл.xls"); 
TO gn 
?SQLexec(gn, 'select * from "Лист1$"') && в зависимости от локали 
?SQLexec(gn, 'select * from "Sheet 1$"') 
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147293
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас какое-то приложение на FoxPro или просто среда FoxPro? Задача "перегнать в dbf" - разовая (сделал и забыл) или это некий пункт меню (кнопка) в уже созданном приложении на FoxPro?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147358
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Среда FoxPro.
Дело в том,что человеку нужен отчёт в виде таблиц.
но не Excel а средствами Foxpro dbf.
2007 Excel не поддерживает конвертирование в dbf.
Как можно поступить в моей ситуации?
Может быть нужен макрос,но я незнаю basic.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147435
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tor_shift,

1. Делаете файл Excel-я (МойФайл.xls)

2. Кладёте этот файл (МойФайл.xls) в корень диска С:

3. В фоксе создаёте новую программу с таким текстом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
store SQLSTRINGCONNECT(; 
"DRIVER={Microsoft Excel Driver (*.xls)};" + ; 
"FIL=Excel 2007;" + ; 
"DefaultDir=С:\;" + ; 
"DBQ=С:\МойФайл.xls"); 
TO gn 
?SQLexec(gn, 'select * from "Лист1$"') && в зависимости от локали 
?SQLexec(gn, 'select * from "Sheet 1$"') 

4. Сохраняете программу, затем её выполняете

5. В итоге должна "выскочить" табличка, её уже можно сохранить на диск.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147580
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: PaulWist
> "DRIVER={Microsoft Excel Driver (*.xls)};" + ;

У него Ексель 2007, нужен другой драйвер доступа и другая строка
соединения


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147839
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist,

Фокс на другом компьютере.
Вринципе фокс не нужен.
Точнее не его средствами нужно делать.

Подскажите существует ли макрос для Excel'я который бы конвертировал очень большие таблицы в DBF файлы?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147900
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tor_shift,

Очень большие - это какие???
количество столбцов в dbf ограниченно 255 столбцами, в 2007 Екселе - 16-тью тысячами(по моему) т.е. если таблица в Екселе "шире" 255-ти столбцов, то напрямую не получится. В "длину" размер dbf-файла ограничен 2-мя Гб. т.е. нужно смотреть на данные. Если нужен макрос, переходи в ветку по VB/VBA.

В принципе ничего сложного в макросе сохранения в dbf нет. Покажи кусочек данных, что-бы можно было сделать пример
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147924
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,

Дело в том что таблицы под рукой нет.
Единственное,что могу сказать по данным таблицы:
1 столбец содержит наименования сантехнических узлов(кран,задвижка,труба и тп)
2 столбец цена за единицу
3 дата
Впринципе стандартная таблица,товар,партия,цена,дата
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37147932
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,

Хоть примерно наведите на путь,что делать.
Таблицу сегодня видел более чем 3500 строк и судя по по полосе прокрутки там ещё 3500 строк.
Столбцов не много,по памяти неболее 11-12 столбцов
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37148349
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема заключается в том, что просто "перевести" содержимое файла XLS в DBF - недостаточно. Ведь таблицы DBF существуют не сами по себе, а как часть какого-то приложения. Т.е. кроме видимых пользователю данных содержит еще ряд скрытых (не видимых пользователю) полей, которые используются для взаимосвязи с другими файлами DBF в этом же приложении. И вот эти-то самые скрытые поля, как правило, невозможно заполнить из Excel, поскольку в файле XLS просто нет тех данных, которые надо записать в эти поля.

Именно по этой причине, запись данных из файла Excel в файлы DBF выполняется не напрямую, а при помощи некоего приложения (программы, метода), которое не просто считывает данные из файла Excel, но еще и формирует значения этих самых скрытых полей.

Тем не менее, можно попробовать сформировать и заполнить таблицу DBF напрямую из Excel, написав для этого соответствующий макрос. Поищите в справке VBA в Excel как использовать подключение по ODBC.

Если таблица уже есть, то можно просто открыть ее в Excel (файл-открыть), а потом скопировать данные из другого экземпляра Excel, где открыт файл XLS.

Правда, следует иметь в виду, что при открытии таблицы в Excel через файл-открыть предполагается, что содержимое таблицы хранится в кодовой странице 866 (DOS rus). Если же данные в ней хранятся в кодовой странице 1251 (Win rus), то открывать таблицу надо как "внешние данные"

Другой вариант - это сохранить файл XLS как файл CSV (текстовый файл с разделителями). Для программиста сделать разбор файла CSV проще, чем разбор файла XLS
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149000
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Добрый день.
я воспользовался решением для Excel
http://www.sql.ru/Forum/actualthread.aspx?tid=589512
Сделал кнопку для удобства на панеле excel.
Но есть большая проблема с переводом данных в формат dbf.
В исходной таблице Excel много повторяющихся номеров(в столбце NUMLS) .
Исходная таблица может состоять от 1000 строк до 6298 строк.
Сегодня пробовал конвертировать,но изменяются данные при конвертировании.
Может быть это связано с повторяющимися числовыми значениями в исходном столбце NUMLS( Excel )
Саму Excel таблицу с данными и файл dbf(версия FoxPro 8.0) прикрепил к письму.

p.s.
Может быть есть более прямые решения средствами самого Foxa 5.0?
Очень прошу,жизненно необходимы вопрос!
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149003
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tor_shift,
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149061
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist,

Прошу прошения за глупый вопрос,я не знаю что делать.
Вы немогли бы описать,как создать программу в Фоксе?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149137
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну зачем, зачем?..
У вас есть некие данные на листе книги Excel.
У вас есть пустая таблица DBF, куда надо перенести данные. Заметьте - структура DBF уже описывает формат данных для FoxPro.
Какие программы? Зачем?

Можно так: Закинуть данные (и только данные, безо всяких описаний и заголовков) на отдельный лист, Сохранить этот лист в формате CSV. Затем Запустить Фокс, Открыть таблицу - и добавить в неё записи из текстового файла (Table-Append Record...)
Код: plaintext
1.
2.
USE NewFile
DELETE ALL
APPEND FROM Excel.csv DELIMITED WITH CHAR ';'

Можно так: Сохранить книгу в формате Excel 5.0 и импортировать в DBF
Код: plaintext
1.
2.
USE NewFile
DELETE ALL
APPEND FROM Excel5.xls TYPE XL5 SHEET "Data_5"
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149142
Boban5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tor_shift, попробуй запустить prg
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149166
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Boban5,

У человечка VFP5.0, так что никаких try...catch , опять же, IMPORT может наврать с форматом и размерностью. Впрочем, переписать недолго...
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149183
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы смотрели пример Simple.xls по приведенной Вами ссылке, то могли бы заметить, что каждый столбец Excel имеет соответствующий формат ячеек.

Например, если столбец NUMLS - это N6.0, то первый столбец листа Excel должен иметь формат ячеек "Числовой". А вот следующий столбец NUMSH - это С20, значит, формат ячеек этого столбца должен быть "Текстовый"

Искажения данные происходят не при импорте в DBF. У Вас данные искажены уже в самом файле Excel. Не корректные форматы столбцов Excel

Насчет того, что получается. Ну, получается файл DBF формата "FoxBASE+/Dbase III plus, no memo". Это, разумеется, не таблица Visual FoxPro, но собственно Visual FoxPro читает такие таблицы без проблем и без каких-либо преобразований.

Сама таблица DBF не содержит вообще никаких механизмов по преобразованию данных. Вот что в нее будет записано, то она и покажет.

Другими словами, код вполне корректный и рабочий. Если у Вас возникают какие-то проблемы, то это проблемы исходных данных. Собственно файла Excel из которых Вы данные берете.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149260
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

Объясните "на пальцах" какое решение выбрать?
Я не пойму что делать?
То ли в Foxe править,то ли в Excele visual basic?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149351
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Это образец для пониманию структуры таблицы.
Это не исходная таблица с данными.
Исходная таблица очень большая свыше 6298 строк,из нее выбирают определённые строки,затем из выбранных строк формируют "окончательно" готовую таблицу Excel,в которой повторяются числовые значения в столбце NUMLS.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149378
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял, в чем проблема-то?

Приведенный Вам код Excel просто "тупо" переносит содержимое ячеек Excel в соответствующие строки и поля таблицы DBF. При этом предполагается определенная структура этого самого файла Excel. Повторяющиеся значения также "тупо" будут перенесены в таблицу DBF. Нет никаких дополнительных фильтров или преобразований.

Ну и? В чем ошибка-то? Происходит замена символов в текстах?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149381
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМЕсли Вы смотрели пример Simple.xls по приведенной Вами ссылке, то могли бы заметить, что каждый столбец Excel имеет соответствующий формат ячеек.

Например, если столбец NUMLS - это N6.0, то первый столбец листа Excel должен иметь формат ячеек "Числовой". А вот следующий столбец NUMSH - это С20, значит, формат ячеек этого столбца должен быть "Текстовый"


В исходной таблице Excel (с которой работает оператор) получается нужно для всего столбца указать формат 'Текстовый'
Тогда как же оператору вводить данные в 16 рично формате '4,14562E+13' ?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149408
tor_shift,
можешь еще сохранить файл Excel в формате dbf3 (если Excel 2007 не позволяет этого сделать, то сначала в формате Excel 2003, потом на другом компьютере с Excel 2003 в формате dbf3).
Файл формата dbf3 Foxpro открывает, только кодовую страницу надо указать правильную.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149445
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Просмотрите ещё раз пожалуйста мои файлы,только мысленно как бы отбросьте эти точки(...).
Представьте что числовые значения по столбцу NUMLS повторяются(изначально так построена структура таблицы Excel,кот.нужно переконвертировать в dbf),они также повторяются и в готовой "таблице" dbf(foxpro 5.0),
но проблема с столбцом SH1 в уже преобразованной таблице dbf.
В некоторых ячейках данные неправильные.(
к примеру таблица в Excel

NUMLS NUMSH SH1 .. .. .. MESTO
.
38414 161.000
38414 145.000
.
.
38421 3.000 <<<<<<
38421 1.000 <<<<<<обратите внимание
.
.
38426 1.233



после преобразования и просмотра через Фокса:

NUMLS NUMSH SH1 .. .. .. MESTO
.
38414 161.000
38414 145.000
.
.
38421 36586.0 <<<<<<<обратите внимание
38421 36526.0 <<<<<<<
.
.
38426 1.233
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149480
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffffffffffffffff,

На машине установлен excel 2007.
И проблемно будет для сотрудниц переходить на другой эксел,они не смогут.
Сделал для удобства даже кнопочку пожилым работницам для превода в dbf,а что-то пошло не так...
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149560
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте просто "тупо" сохранение данных из Excel в формате CSV. И посмотрите этот тектовый файл, что там получается.
А в FoxPro импортируйте, как показано в моём посте...
НЕ НАДО формировать таблицу Фокса средствами Excel...
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149710
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

Можно так: Закинуть данные (и только данные, безо всяких описаний и заголовков) на отдельный лист, Сохранить этот лист в формате CSV. Затем Запустить Фокс, Открыть таблицу - и добавить в неё записи из текстового файла (Table-Append Record...)

Я охранил файл excel с расширением csv для Dos.
Я запустил Фокс,далее я не нахожу,указанных Вами пунктов.


Попробовал так File-->Open-->мой файл csv-->ok
Открылось окно с перечисленными записями через точку с запятой:
38414;1234522344778;161.000;;е;б
38414;5784833322333;145.000;;Ј;б
38421;16723839405064;3.000;;е;б
38421;53435465677232;1.000;;е;Є
38426;41456238594954;;;е;ў

Пробовал сделать Import-->type Microsoft Excel 5.0 and 97 (XLS)-->from мой файл csv-->ok-->
Появляется сообщение:
Microsoft Excel file format is invalid.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149853
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tor_shiftВладимирМ,

Просмотрите ещё раз пожалуйста мои файлы,только мысленно как бы отбросьте эти точки(...).
Представьте что числовые значения по столбцу NUMLS повторяются(изначально так построена структура таблицы Excel,кот.нужно переконвертировать в dbf),они также повторяются и в готовой "таблице" dbf(foxpro 5.0),
но проблема с столбцом SH1 в уже преобразованной таблице dbf.
В некоторых ячейках данные неправильные.(
к примеру таблица в Excel

NUMLS NUMSH SH1 .. .. .. MESTO
.
38414 161.000
38414 145.000
.
.
38421 3.000 <<<<<<
38421 1.000 <<<<<<обратите внимание
.
.
38426 1.233



после преобразования и просмотра через Фокса:

NUMLS NUMSH SH1 .. .. .. MESTO
.
38414 161.000
38414 145.000
.
.
38421 36586.0 <<<<<<<обратите внимание
38421 36526.0 <<<<<<<
.
.
38426 1.233

Посмотрите, все-таки, пример автора кода по преобразованию содержимого Excel в DBF. У него в примере используется в качестве символа-разделителя - запятая. Точнее, тот символ, который указан как символ-разделитель целой и дробной части в том экземпляре Excel, где Вы этот код и запускаете.

У Вас же в качестве символа разделителя выступает точка.

Понимаете, конвертацией в формат DBF занимается сам Excel. Поэтому, данные в самом Excel должны быть в таком формате, чтобы не было разночтений в том, что Вы хотите получить в DBF и в том, что у Вас есть в Excel. Это именно Excel таким образом выполнил преобразование.

Если Вы указываете, что поле SH1 должно быть числовое, то и в Excel этот столбец должен быть отформатирован как числовой. И разделитель целой и дробной части должен быть такой же, как в Excel.

Повторю еще раз. Все проблемы связаны с тем, как данные отформатированы в самом Excel.

Если Вы сможете понять макрос Excel, то преобразованием там занимается вот этот метод

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Public Function ValToDBF(val As Variant) As String

    ' Преобразование в строку
    If DBFType = dftCharacter Then
        ValToDBF = Space(Size)
        LSet ValToDBF = CStr(val)
    End If

    ' Преобразование в дату
    If DBFType = dftDate Then
        ValToDBF = format(val, "YYYYMMDD")
    End If

    ' Преобразование в логическое значение
    If DBFType = dftLogical Then
        ValToDBF = IIf(CBool(val), "T", "F")
    End If

    ' Преобразование в числовое значение
    If DBFType = dftNumeric Then
        ValToDBF = Space(Size)
        RSet ValToDBF = Trim(format(val, "0" + IIf(Precision >  0 , "." + String(Precision, "0"), "")))
        ValToDBF = Replace(ValToDBF, ",", ".")
    End If
End Function

По сути, преобразование в числовое значение выполняет внутренняя функция Excel с именем format(). Вот у этой функции и "сносит крышу", когда она пытается преобразовать в число явную символьную строку. Во что она это преобразует, заранее сказать невозможно. Как только Вы вместо "3.00" напишете "3,00" (т.е. просто вместо точки укажите запятую), то все встает на место.

Нет, ну можно, конечно, модифицировать функцию преобразования в числовое значение следующим образом


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    ' Преобразование в числовое значение
    If DBFType = dftNumeric Then

        ' Замена не корректных символов-разделителей на текущий символ-разделитель Excel
        val = Replace(val, ",", Application.International(xlDecimalSeparator))
        val = Replace(val, ".", Application.International(xlDecimalSeparator))

        ValToDBF = Space(Size)
        RSet ValToDBF = Trim(format(val, "0" + IIf(Precision >  0 , "." + String(Precision, "0"), "")))
        ValToDBF = Replace(ValToDBF, ",", ".")
    End If

Только это до тех пор, пока вместо символа-разделителя целой и дробной части не окажется, к примеру, дефис
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149924
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tor_shiftЯ охранил файл excel с расширением csv для Dos.
Я запустил Фокс,далее я не нахожу,указанных Вами пунктов.Откройте таблицу NewFile.dbf - и вы увидите появившийся пунктик меню "Table"...
А вообще, я же говорил о том, что после запуска FoxPro вам достаточно выполнить хотя бы в командном окне три строчки кода.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149964
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot ВладимирМ]tor_shiftВладимирМ,

Нет, ну можно, конечно, модифицировать функцию преобразования в числовое значение следующим образом


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    ' Преобразование в числовое значение
    If DBFType = dftNumeric Then

        ' Замена не корректных символов-разделителей на текущий символ-разделитель Excel
        val = Replace(val, ",", Application.International(xlDecimalSeparator))
        val = Replace(val, ".", Application.International(xlDecimalSeparator))

        ValToDBF = Space(Size)
        RSet ValToDBF = Trim(format(val, "0" + IIf(Precision >  0 , "." + String(Precision, "0"), "")))
        ValToDBF = Replace(ValToDBF, ",", ".")
    End If



Скажите пожалуйста,как можно подправить функцию ValToDBF и можно ли поставить дополнительную строку в ValToDBF:
Код: plaintext
val = Replace(val, "-", Application.International(xlDecimalSeparator))
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37149972
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

Так это в командной строке нужно прописывать.
Я не сразу понял,извините
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150038
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tor_shift Скажите пожалуйста,как можно подправить функцию ValToDBF и можно ли поставить дополнительную строку в ValToDBF:
Код: plaintext
val = Replace(val, "-", Application.International(xlDecimalSeparator))

А кто мешает попробовать?

Только следует иметь в виду, что данная модификация повлияет на ВСЕ поля, которые должны быть числовыми. А Вы уверены, что Вам никогда не понадобятся отрицательные числа? Как собираетесь отличать минус от дефиса, как символа-разделителя?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150060
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Вроде работает.
А как быть к примеру с преобразованием дат,подскажите?

К примеру нужно будет добавить столбец с датами,как с ними работать?
В excel формат 04.03.2011,
а в fox'е если не ошибаюсь 04-03-2011
или не обязательно в таком формате как 04-03-2011?

Впринципе,я уже попробовал с датами типа 04.03.2011 для экселя и
переводится они на формат 04/03/2011 в foxe.
Как Вы думаете это допустимый стандарт?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150070
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Можно ли при составлении таблицы Excel указать для позиций,расположенных под наименованием NUMSH,тип Дополнительный-->Табельный номер?
Табельный номер относится к char типу данных или всё-таки нет?
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150114
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tor_shiftА как быть к примеру с преобразованием дат,подскажите?

К примеру нужно будет добавить столбец с датами,как с ними работать?
В excel формат 04.03.2011,
а в fox'е если не ошибаюсь 04-03-2011
или не обязательно в таком формате как 04-03-2011?

Впринципе,я уже попробовал с датами типа 04.03.2011 для экселя и
переводится они на формат 04/03/2011 в foxe.
Как Вы думаете это допустимый стандарт?
То, как данные хранятся "внутри" Excel или DBF, не есть то, как они отображаются.

Для начала настройте формат отображения дат в FoxPro. Это пункт меню

Tools \ Options \ закладка Regional \ в поле "Date Format" установите значение "German"

Это тот формат отображения дат, который принят у нас ДД.ММ.ГГГГ

А физический способ хранения дат в DBF-таблицах всегда один и тот же и ни от каких способов отображения не зависит.

Правильность перевода целиком и полностью на стороне Excel. Если Excel сумеет понять, что в ячейке записана дата (не важно в каком формате), то и в DBF дата попадет "как надо".

tor_shiftМожно ли при составлении таблицы Excel указать для позиций,расположенных под наименованием NUMSH,тип Дополнительный-->Табельный номер?
Табельный номер относится к char типу данных или всё-таки нет?
У Вас же есть описание как, где и что указывать в файле Excel, чтобы получился корректный файл DBF. Вот, в соответствии с инструкцией, и располагайте.

Если Вы хотите добавить к английскому имени поля некое описание по русски, то для "голого" DBF это невозможно. Внутри файла DBF просто нет места для хранения подобных описаний. Форматом файла не предусмотрено.

В Visual FoxPro подобное возможно только для таблиц, включенных в контейнер базы данных. Но данный код не предполагает создание такого контейнера.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150122
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

я располагал как раз в соответствии с инструкцией.
Но когда я указываю в excel тип значений для NUMSH,данные меняются на 16ричный формат.
В таком формате операторы не смогут заносить данные,как же быть тогда?

Я сегодня объяснял как использовать кнопку и так скажем шапку таблицы при формировании документа dbf,много возмушения услышал))
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150137
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tor_shiftя располагал как раз в соответствии с инструкцией.
Но когда я указываю в excel тип значений для NUMSH,данные меняются на 16ричный формат.
В таком формате операторы не смогут заносить данные,как же быть тогда?
У Вас NUMSH - это текстовое поле. Вот и укажите в Excel формат столбца как "Текстовый". Потом укажите тип столбца и еще раз проверьте, что формат столбца остался "Текстовый".

Дело в том, что если формат ячейки в Excel оставлен в значении по умолчанию как "Общий", то Excel, сам, в силу своего понимания, пытается определить, какой тип данных записан в ячейке. Ну, а раз у Вас там одни цифры, вот он и предполагает, что это число. Соответственно его и конвертирует. Ну, а то, что числа отображаются в научном (16-ричный - это совсем другое) формате объясняется ограничением уже формата отображения числовых данных. В общем, в данном случае, Excel "слишком умный".

PS: Надеюсь, Вы знаете как установить формат всех ячеек одного столбца Excel? Надо щелкнуть по заголовку столбца левой клавишей мыши. После того, как столбец окажется выделенным, щелкнуть по тому же заголовку, но уже правой клавишей мыши. В открывшемся меню выбрать пункт "Формат ячейки" и выбрать "Текстовый"
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150551
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Спасибо Вам.
Всё вроде сегодня объяснил на счёт типов данных и запятых.
Файл сформировали,в главном офисе дали добро )
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150562
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

Спасибо за помощь.
Взял всё-таки версию Excel,тк работать с ней нужно будет оператору.
Оператор сильно привык к экселю и ему сложно будет перестроится на Фокс.
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #37150673
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist,

Я пробовал сделать Ваш вариант.
Сохранил эксел файл как Книга Excel поместил в корень С:\.
Ввёл в консоли код,указал имя файла,оставил русскую локаль,запустил на исполнение клавишей enter.
Появилось сообщение о переменной gn: variable 'GN' is not found.

Что не правильно делаю подскажите пожалуйста?
Просто хочу побольше разобраться с Фоксом.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #38797443
Лобок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
быть умным бывает вредно.... Вот ссылка на конвертер из excel в dbf бесплатная версия преобразовывает 50 записей но если купите будет преобразов. все ) Удачи
http://www.whitetown.com/ru/xls2dbf/
...
Рейтинг: 0 / 0
Экспорт данных из Excel в Visual FoxPro(dbf-файл).
    #39074448
1c_begin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привит!!!мне надо перекинуть с одного dbf файла значение колонки IIK у иной dbf файл у колонку TIN. Как мне это сделать?
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Экспорт данных из Excel в Visual FoxPro(dbf-файл).
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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