Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2009, 19:13   #1
elen1khp
Пользователь
 
Регистрация: 20.05.2009
Сообщений: 17
По умолчанию открытие dbf файла EXCELом

Помогите..... Как сделать так, что бы при открытии DBF файла при помощи EXCEL столбец с фамилиями можно было прочитать.
elen1khp вне форума Ответить с цитированием
Старый 20.05.2009, 19:39   #2
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Проблема с кодировкой?
Или в чем-то другом?
edgy вне форума Ответить с цитированием
Старый 20.05.2009, 19:47   #3
elen1khp
Пользователь
 
Регистрация: 20.05.2009
Сообщений: 17
По умолчанию

да. База сделана на делфи при просмотре в excel столбец с текстом не читается.
elen1khp вне форума Ответить с цитированием
Старый 20.05.2009, 20:01   #4
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Попробуйте такой вариант:
Заходим: Пуск -> Панель управления -> BDE Administrator -> Ветка ODBC (см. рисунок). Везде где встречается dBase найдите свойство LANGDRIVER и выберите dBASE RUS cp866 (как на приложенном рисунке). Попробуйте переоткрыть dbf-ку. Точно сейчас не вспомню, но по-моему перезагрузка не требуется.
Но на всякий случай перезагрузитесь.
Изображения
Тип файла: jpg BDE Administrator.jpg (41.7 Кб, 180 просмотров)

Последний раз редактировалось edgy; 20.05.2009 в 20:05.
edgy вне форума Ответить с цитированием
Старый 21.05.2009, 09:43   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

elen1khp, задам пару нескромных вопросов:
что такое шестнадцатеричный (он же бинарный, он же HEX) редактор Вы знаете?
Воспользоваться сумеете/захотите?
я на 99.99% уверен, что в заголовке DBF файла (смещение 0x1D) не прописана кодовая табличка.

p.s. Если очень хотите разобраться и не поможет совет edgy - пишите мне в личку, думаю, вместе разберёмся...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.05.2009, 11:47   #6
elen1khp
Пользователь
 
Регистрация: 20.05.2009
Сообщений: 17
По умолчанию

Да совет adgy не помог. И что такое шестнадцатеричный (он же бинарный, он же HEX) редактор НЕ ЗНАЮ. HELP.
elen1khp вне форума Ответить с цитированием
Старый 21.05.2009, 21:20   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, "в личку" - это имелось в виду личное сообщение
ну да ладно. Может быть, это и к лучшему, что Вы здесь, в теме продолжили... Кто-то может быть ещё присоединится. А кому-то, может быть, в будущем пригодится...
ладно, это всё лирика...

Рассказывайте подробности:
Кто и как формирует этот файл? Это Вы сами делаете, из программы на Дельфи? Через какие компоненты создаёте/работаете с таблицей?
Дальше, это задача по открытию DBF файла в Excel - разовая (надо сделать только один раз) или нужно это делать неоднократно?
Дальше, если содержимое DBF файла не сильно секретно - то запакуйте этот DBF файл (в WinRar, например) и выложите архив сюда на форум (или на любой файлообменник, а сюда ссылку на скачку). Посмотрим, что там не так...

по поводу редактора. Для начала попробуйте взять обыкновенный Far Commander, стать на этот файл и нажмите alt-F3 - когда откроется файлик на просмотр, нажмите F4 (переход в шестнадцатиричный режим), сделайте скриншот и дайте сюда картинку...

и я гарантирую Вам, если не опустите руки — обязательно откроем Вашу таблицу в Excel! ;-)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.05.2009, 11:29   #8
elen1khp
Пользователь
 
Регистрация: 20.05.2009
Сообщений: 17
По умолчанию

dbf файл отдается в другую организацию ежемесячно, где они просматривают через excel и им не нравится что не читаются фамилии.
dbf файл создала через BDE Administrator рис. прилагаю. Потом через Database Destop прописываю столбцы, а в самом делфи с помощью компонентов Table и DBGrid получаю табличку которую заполняю. Ну вообщем и все.
Вложения
Тип файла: doc Doc1.doc (61.5 Кб, 28 просмотров)
Тип файла: rar ILG.rar (511 байт, 21 просмотров)
Тип файла: doc Doc2.doc (61.0 Кб, 24 просмотров)
elen1khp вне форума Ответить с цитированием
Старый 25.05.2009, 09:31   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так... решить проблему через смену кодовой страницы в заголовке DBF не удалось... MS Excel плевать хотел на эти "мелочи" — он всегда считает, что там кодировка DOS!

Поэтому,
я вижу несколько альтернативных способов решения проблемы.

1) всё таки попытаться настроить BDE администратор.
Тогда, когда Вы в Delphi будете создавать DBF файл, он будет в кодировке DOS (866)
для этого Вам надо выбрать в BDEAdmin вторую закладку (не Databases, как у Вас на скриншоте, а Configuration
там открывайте
--Drivers
- Native
DBASE
и меняйте LANGDRIVER на dBASE RUS cp866
затем,
--Drivers
- Native
FOXPRO
и меняйте LANGDRIVER на dBASE RUS cp866
думаю, что после этого, созданный Вашей программой DBF файл будет уже нормально открывать Excel

Вариант 2.
Писать программу перекодировки DBF из Win-1251 в 866

Вариант 3. использовать для открытия DBF файл макрос от ZVI (сам я не проверял, но вроде бы похоже на правду) - http://www.sql.ru/forum/actualthread.aspx?tid=631075
но это самый маловероятный вариант, потому как Вам либо самим нужно будет открывать файл через данный макрос и отсылать уже готовый XLS, либо научить ваш филиал пользоваться макросами.. а это ещё более фантастично

удачи.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2009, 10:05   #10
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
1) всё таки попытаться настроить BDE администратор.
Да, обычно этот способ решает проблему с кодировкой.
Просто нужно хорошенько поковырять BDE Administartor и выставить dBASE RUS cp866 где это нужно. Где точно нужно выставить - сейчас так навскидку не вспомню. Поэтому и написал в предыдущих постах, что выставить везде, где встречается dBase.
edgy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с обработкой DBF файла oleg kutkov Общие вопросы C/C++ 1 22.08.2008 21:07
Открытие файла Messir_Leonard Win Api 2 09.04.2008 19:33
Открытие файла KillbrumX Помощь студентам 5 02.02.2008 20:50
сохранение результата выборки из DBF файла в DBF файл с такой же структурой таблицы GazimagomedovM БД в Delphi 5 06.11.2007 17:58
Сортировка файла dbf Jon_1981 БД в Delphi 7 11.06.2007 10:57