Экспорт и импорт данных в Microsoft Visual FoxPro
« Назад Команда COPY TO FileName [DATABASE DatabaseName [NAME LongTableName]]
|
Тип |
Описание типа файла |
Расширение |
FOXPLUS |
FoxBASE+ |
DBF и DBT |
FOX2X |
FoxPro версий 2.0, 2.5 и 2.6 |
DBF; FPT |
FW2 |
Импорт данных из файла Framework II |
FW2 |
DIF |
VisiCalc DIF-файл (Data Interchange Format) |
DIF |
MOD |
Microsoft Multiplan® версии 4.01 |
MOD |
PDOX |
Paradox версии 3.5 или 4.0 |
DB |
RPD |
RapidFile версии 1.2. |
RPD |
SDF |
SDF-файл (System Data Format) – ASCII-текстовый файл с фиксированной длиной записи с CR и LF. Установка SET CENTURY игнорируется. Формат даты в файле должен быть ГГГГММДД. Тогда от будет успешно загружен в таблицу VFP при выполнении команды APPEND FROM |
TXT |
SYLK |
SYLK-файл (Symbolic Link); используется в Microsoft MultiPlan®; не имеют расширения |
– |
WK1 |
Лист Lotus 1-2-3 версии 2.x |
WK1 |
WK3 |
Лист Lotus 1-2-3 версии 3.x |
WK3 |
WKS |
Лист Lotus 1-2-3 версии 1а |
WKS |
WR1 |
Lotus Symphony версии 1.1 или 1.2 |
WR1 |
WRK |
Lotus Symphony версии 1.0 |
WRK |
CSV |
Текстовый файл, использующий в качестве разделителя запятую. Первой строкой файла являются имена полей таблицы-источника; значения символьных полей обрамляются двойными кавычками. Имена полей игнорируются, когда файл импортируется |
CSV |
XLS |
Microsoft Excel версии 2.0 |
XLS |
XL5 |
Microsoft Excel версии 5.0 |
XLS |
XL8 |
Microsoft Excel 97 |
XLS |
Замечание. Версии Microsoft Excel ниже 8.0 (Excel 97) отображают первые 16384 строк файла-приемника, хотя он может содержать до 65535 строк.
DELIMITED – создает ASCII-текстовый файл, в котором между значения копируемых полей помещен разделитель. По умолчанию в качестве разделителя используется запятая. Поскольку символьные значения полей могут иметь запятую, то автоматически значения символьных полей обрамляются двойными кавычками, например:
select Authors
copy to d:\a.txt delimited && Переносим данные в файл d:\a.txt
Одна строка файла d:\a.txt:
1,"Личутин Владимир Владимирович",11.22.2004,
Если расширение не указано, то автоматически используется TXT.
WITH Delimiter – задает символ, употребляемый взамен двойных кавычек. Разделителем по-прежнему является запятая, например:
copy to d:\a.txt delimited with *
Одна строка файла d:\a.txt:
1,*Личутин Владимир Владимирович*,11.22.2004,
WITH BLANK – в качестве разделителя используется пробел, а не запятая.
WITH TAB – в качестве разделителя берется символ табуляции, например:
copy to d:\a.txt delimited with tab
WITH CHARACTER Delimiter – в качестве разделителя берется символ Delimiter. Если в качестве символа выбрана точка с запятой (символ, означающий продолжение строки VFP), то его нужно заключить в кавычки.
Опция может быть использована с опцией BLANK или TAB, или WITH Delimiter, например:
copy to d:\a.txt delimited with # with character ";"
Одна строка файла d:\a.txt:
1;#Личутин Владимир Владимирович#;11.22.2004;
AS nCodePage – задает кодовую страницу файла-приемника. Если опция опущена, то используется текущая кодовая страница. Если указана не поддерживаемая VFP кодовая страница, то генерируется ошибка.
Диалог выбора кодовой страницы открывается функцией GETCP( ). Текущая кодовая страница возвращается функцией CPCURRENT( ).
Команда
APPEND FROM FileName | ? [FIELDS FieldList] [FOR lExpression]
[[TYPE] DIF | FW2 | MOD | PDOX | RPD | SDF | SYLK | WK1 | WK3 | WKS
| WR1 | WRK | CSV | XLS | XL5 [SHEET cSheetName]
| XL8 [SHEET cSheetName] | [DELIMITED [WITH Delimiter
| WITH BLANK | WITH TAB | WITH CHARACTER Delimiter]]]
[AS nCodePage]
добавляет записи в конец текущей таблицы из другого файла.
Опции и параметры:
FileName – имя файла-источника данных. Если расширение не задано и отсутствует опция TYPE, то берется расширение DBF. Если опция TYPE имеется, то берется расширение, задаваемое по умолчанию для файлов указанного типа. Если опция TYPE отсутствует и файл-источник – это таблица VFP или таблица, созданная более ранними версиями FoxPro, то файл должен иметь расширение DBF.
При добавлении из таблицы VFP ее записи, имеющие пометку удаления, будут добавляться, если SET DELETED установлен в OFF; пометка удаления у добавленных записей будет отсутствовать.
Для импортирования данных dBASE IV необходимо до выполнения команды APPEND FROM открыть в VFP таблицу-источник, применив команду USE. На вопрос, нужно ли конвертировать файл, следует ответить Yes.
Для добавления из временного курсора, созданного SELECT – SQL, можно использовать функцию DBF( ), возвращающую имя таблицы. Например:
append from DBF('Cur') && Добавляем из курсора Cur
FIELDS FieldList – список полей таблицы-приемника, в которые добавляются данные.
FOR lExpression – добавляются записи, удовлетворяющие логическому выражению lExpression.
TYPE – тип файла-источника данных. Опция TYPE обязательна, когда файл-источник не является таблицей VFP. Типы файлов описаны в табл. 15.10.
SHEET cSheetName – номер листа XLS-файла. Если опция опущена, то берется лист 1.
Смысл опции DELIMITED см. в описании команды COPY TO.
AS nCodePage – задает кодовую страницу файла-источника. Если опция опущена, то используется текущая кодовая страница. Если указана не поддерживаемая VFP кодовая страница, то генерируется ошибка.
Если опция опущена и VFP не может определить кодовую страницу файла-источника, то VFP автоматически конвертирует копируемые данные в кодовую страницу таблицы-приемника.
Если SET CPDIALOG установлен в ON и для таблицы-источника не установлена кодовая страница, то появится диалог выбора кодовой страницы.
Если nCodePage = 0, то VFP считает, что кодовые страницы файла-источника и файла-приемника совпадают. Данные копируются без преобразования их кодовой страницы.
Если в таблице-приемнике есть поле типа Integer (AutoInc) и оно имеется в списке заполняемых полей, то команда APPEND FROM не будет выполнена, если AUTOINCERROR установлен в ON. Путь преодоления проблемы – это установка SET AUTOINCERROR в OFF или задание функцией CURSORSETPROP( ) свойства AutoIncError курсора-приемника равным .F. При этом величины для AutoInc-поля будут соответствующим образом вычисляться, а имеющиеся значения в таблице-источнике игнорироваться.
Команда
IMPORT FROM FileName [DATABASE DatabaseName [NAME LongTableName]]
[TYPE] FW2 | MOD | PDOX | RPD | WK1 | WK3 | WKS
| WR1 | WRK | XLS | XL5 [SHEET cSheetName]
| XL8 [SHEET cSheetName] [AS nCodePage]
импортирует данные из файла FileName в новую таблицу VFP.
Опции и параметры см. в описании команд APPEND FROM и COPY TO.
Команда
EXPORT TO FileName [TYPE] DIF | MOD | SYLK | WK1 | WKS | WR1
| WRK | XLS | XL5 [FIELDS FieldList] [Scope] [FOR lExpression1]
[WHILE lExpression2] [NOOPTIMIZE] [AS nCodePage]
копирует данные текущей таблицы VFP в файл иного формата.
Опции и параметры см. в описании команд APPEND FROM и COPY TO.