Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007 -> dBase VI / 10 сообщений из 10, страница 1 из 1
30.05.2008, 15:00
    #35345957
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Существует необходимость сохранить таблицу Excel в формате DBF. В 2003 проблем не было. 2007 "понимает" DBF-файлы, но сохранять в этом формате отказывается... Подскажите, пожалуйста, какой-нибудь простой способ. (Вариант "переустановить Office 2003" не подходит).
...
Рейтинг: 0 / 0
30.05.2008, 18:03
    #35346481
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Гы-гы-гы.... И кто вас просил ставить это уродство 2007-го года?

Самый простой способ решить задачу:
Это сохранить файл в формат 2003-го, отнести его на соседнюю машину с 2003-им и там сделать экспорт в dbf.

Чуть сложнее - поставить на машину с Excel-2007 что-нибудь типа FoxPro и им вытягивать данные из Экселя через ADO или OLE (как удобнее будет)

Еще можно выгрузить лист в csv, а потом какой-нибудь внешней утилитой (скорее всего самописной на том же FoxPro или его кузенах) превратить csv в dbf

И наконец - написать собственную утилиту которая будет вытягивать данные напрямую из xlsx и писать их куда угодно. Там формат хранения достаточно простой.
...
Рейтинг: 0 / 0
30.05.2008, 21:29
    #35346770
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Спасибо.
Файл и есть в формате 97-2003, но обрабатывать приходиться на 2007. Видимо буду писать какую-нибудь приблуду... OleDbProvider Visual FoxPro 9 есть, VS .NET тоже. Просто думал, если кто сталкивался с подобной задачей, может подскажет, как без наворотов.

А по поводу ставить или не ставить 2007 -- решение принималось без моего участия. Да и врядли повлияла бы на приятие решения эта моя проблема :)
...
Рейтинг: 0 / 0
24.06.2008, 03:16
    #35389744
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Сохранять XLS в формате dBase научился (изучил формат dBase) Просто написал макрос, который создаёт файл .dbf и сохраняет данные из таблицы в формате dBase (мне показалось, что такой подход более универсален, т.к. не требует установки OleDbProvider). Но осталась проблема с кодовой страницей. Мне нужно сохранять текстовые данные в кодировке DOS-866. Excel 2003 сохранял именно в этой кодировке. В наборе строковых функций VBA подходящей не нашёл. Подскажите, если кто сталкивался с подобной проблемой.
...
Рейтинг: 0 / 0
24.06.2008, 07:10
    #35389788
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
авторПросто написал макрос, который создаёт файл .dbf

А можно поподробнее? (Если не сильно жалко...)
...
Рейтинг: 0 / 0
26.06.2008, 01:28
    #35395083
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Dan-K авторПросто написал макрос, который создаёт файл .dbf

А можно поподробнее? (Если не сильно жалко...)

Зная структуру файла dBASE, несложно написать макрос, который создаст файл и сохранит в нём данные в формате dBase, например, из выдленной таблицы Excel.

Сейчас у меня довольно сыро всё выглядит (тестирую, пока нужно буквально руками двигать указатель по коду). Но когда, всё заработает, могу выложить исходник макроса.

Формат dBase можно посмотреть здесь
...
Рейтинг: 0 / 0
26.06.2008, 20:06
    #35397593
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Обязательно выкладывайте. Я думаю что через годик на этом форуме будет не протолкнуться от вынужденных владельцев корпоративного 2007...
...
Рейтинг: 0 / 0
27.06.2008, 13:43
    #35398747
Flaer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Неужели ещё кто-то использует Дибейз??
...
Рейтинг: 0 / 0
24.08.2008, 23:44
    #35503670
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Dan-KОбязательно выкладывайте. Я думаю что через годик на этом форуме будет не протолкнуться от вынужденных владельцев корпоративного 2007...

Выкладываю обещанный макрос, экспортирующий EXCEL-данные в формат DBF. Для того чтобы он работал, экспортируемая область таблицы должна быть отформатирована соответствующим образом (см. README.TXT в архиве).

Макрос находится в файле XlsToDBF.xla. Это надстройка для EXCEL, инструкции по подключению и работе в файле README.TXT

Так же в архиве есть EXCEL-файл для примера SIMPLE.XLS

Недостатки программы:
1. Пока ещё "сыро": нет проверок на ошибки, вся ответственность лежит на пользователе.
2. Так и не смог забороть CP866, выходной DBF-файл создаётся в CP1251.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
25.08.2011, 21:59
    #37412533
Basile
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 -> dBase VI
Хотя обсуждение конвертации XLS->DBF получило развитие в другой моей теме, всё же считаю важным исправить и здесь мою ошибку с выложенным файлом. В архиве XlsToDbf.rar завёрнута другая надстройка, правильная надстройка прикреплена здесь.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007 -> dBase VI / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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