![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.05.2009
Сообщений: 17
|
![]()
Помогите..... Как сделать так, что бы при открытии DBF файла при помощи EXCEL столбец с фамилиями можно было прочитать.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
![]()
Проблема с кодировкой?
Или в чем-то другом? |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.05.2009
Сообщений: 17
|
![]()
да. База сделана на делфи при просмотре в excel столбец с текстом не читается.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
![]()
Попробуйте такой вариант:
Заходим: Пуск -> Панель управления -> BDE Administrator -> Ветка ODBC (см. рисунок). Везде где встречается dBase найдите свойство LANGDRIVER и выберите dBASE RUS cp866 (как на приложенном рисунке). Попробуйте переоткрыть dbf-ку. Точно сейчас не вспомню, но по-моему перезагрузка не требуется. Но на всякий случай перезагрузитесь. Последний раз редактировалось edgy; 20.05.2009 в 20:05. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
elen1khp, задам пару нескромных вопросов:
что такое шестнадцатеричный (он же бинарный, он же HEX) редактор Вы знаете? Воспользоваться сумеете/захотите? я на 99.99% уверен, что в заголовке DBF файла (смещение 0x1D) не прописана кодовая табличка. p.s. Если очень хотите разобраться и не поможет совет edgy - пишите мне в личку, думаю, вместе разберёмся... |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.05.2009
Сообщений: 17
|
![]()
Да совет adgy не помог. И что такое шестнадцатеричный (он же бинарный, он же HEX) редактор НЕ ЗНАЮ. HELP.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
так, "в личку" - это имелось в виду личное сообщение
ну да ладно. Может быть, это и к лучшему, что Вы здесь, в теме продолжили... Кто-то может быть ещё присоединится. А кому-то, может быть, в будущем пригодится... ладно, это всё лирика... Рассказывайте подробности: Кто и как формирует этот файл? Это Вы сами делаете, из программы на Дельфи? Через какие компоненты создаёте/работаете с таблицей? Дальше, это задача по открытию DBF файла в Excel - разовая (надо сделать только один раз) или нужно это делать неоднократно? Дальше, если содержимое DBF файла не сильно секретно - то запакуйте этот DBF файл (в WinRar, например) и выложите архив сюда на форум (или на любой файлообменник, а сюда ссылку на скачку). Посмотрим, что там не так... по поводу редактора. Для начала попробуйте взять обыкновенный Far Commander, стать на этот файл и нажмите alt-F3 - когда откроется файлик на просмотр, нажмите F4 (переход в шестнадцатиричный режим), сделайте скриншот и дайте сюда картинку... и я гарантирую Вам, если не опустите руки — обязательно откроем Вашу таблицу в Excel! ;-) |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 20.05.2009
Сообщений: 17
|
![]()
dbf файл отдается в другую организацию ежемесячно, где они просматривают через excel и им не нравится что не читаются фамилии.
dbf файл создала через BDE Administrator рис. прилагаю. Потом через Database Destop прописываю столбцы, а в самом делфи с помощью компонентов Table и DBGrid получаю табличку которую заполняю. Ну вообщем и все. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 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, либо научить ваш филиал пользоваться макросами.. а это ещё более фантастично ![]() удачи. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
![]()
Да, обычно этот способ решает проблему с кодировкой.
Просто нужно хорошенько поковырять BDE Administartor и выставить dBASE RUS cp866 где это нужно. Где точно нужно выставить - сейчас так навскидку не вспомню. Поэтому и написал в предыдущих постах, что выставить везде, где встречается dBase. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с обработкой 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 |