по мотивам https://www.sql.ru/forum/589512-1/excel-dbf
разработчик Basile
Fork содержит возможность перекодировки
В EXCEL 2007 (а также EXCEL 2016)
- Кнопка "Office"
- Кнопка "Параметры Excel"
- Слева, "Надстройки"
- Внизу "Управление: Надстройки Excel", кнопка "Перейти"
- В окне "Надстройки": кнопка "Обзор..."
- Найти сохранённый ранее файл XlsToDBF.xla и нажать "OK"
- В окне "Надстройки" в списке доступных надстроек должна появиться строка "XLS -> DBF" с установленным флажком проверки, нажать "OK"
- Выделить ячейку относящуюся к экспортируемой областии (формат области должен отвечать некоторым требованиям, см. ниже "Формат экспортируемой области")
- Вызвать диалог "Макрос" (ALT-F8)
- В поле "Имя макроса:" ввести XlsToDBF и нажать "Выполнить"
- Файл сохранится в той же папке, где расположена открытая книга под именем, заданным в первой ячейки экспортируемой области. Если книга только создана и ещё не сохранялась, DBF-файл сохраниться в папку по умолчанию (скорее всего, в "Мои документы"). Для полной уверенности, перед экспортом имеет смысл сохранить книгу.
Программа не в ключает в себя ни каких диалогов настройки экспорта. Поэтому всю информацию необходимо сообщить непосредственно в заголовке области экспорта.
- Первая ячейка первой строки области содержит имя выходного DBF-файла (например, TEST.DBF), кодировку DBF (напрмер Windows-1251), кодировку EXCEL (опционатьно, напрмер cp866)
- Вторая и третья строки содержат описания и названия полей соответственно
- Начиная с 4-ой строки и до конца области располагаются данные
Каждое поле ОБЯЗАТЕЛЬНО должно быть описано. Описания полей соответствуют стандарту FoxPro: Cnnn - строковый тип (например, C100) Nnn или Nnn.n - числовой тип (например, N10 или N10.2) D - тип даты L - логический тип
Пример: Колонка 1: Колонка 2: Колонка 3:
Строка 1: Test.dbf Windows-1251 cp866 Строка 2: N10 С20 N8.3 Строка 3: ID Name Netto Строка 4: 10000 Огурцы 256.5 Строка 5: 20000 Помидоры 113
Логический тип (L) может быть задан, например 0 - False, 1 - True, пустое поле трактуется, как False. Также в русской версии EXCEL можно использовать "ИСТИНА" и "ЛОЖЬ".
В файле SIMPLE.XLS содержится таблица, отвечающая требованиям.