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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2009, 00:08   #1
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию неверное преобразование даты при открытии DBF файла в MS Excel 2007

Добрый день.

Жизнь заставила перейти на Office 2007 (понадобилось обрабатывать массивы записей более 100 тыс...)
сразу возникло куча "непоняток" и вопросов, в том числе и с использованием VBA... но это ладно...

а вот столкнулся с проблемой, причин которой я вообще не могу понять! ;(

При открытии DBF файла, даты распознаются НЕВЕРНО!
в DBF есть даты 01.06.2009... 02.06.2009 и т.д.
но при открытии данного DBF в Excel 2007 даты превращаются в 06.01.2009 06.02.2009 и т.д....

Прошу проверить/подтвердить/опровергнуть ну и, конечно, подсказать, если кто знает, где можно "подкрутить"?...
Вложения
Тип файла: rar test1.rar (4.3 Кб, 27 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2009, 00:31   #2
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Добрый вечер, возможно, формат ячеек, в 2003 все корректно, попробуйте выделить ячейку с неверно отраженной датой и проверить ее формат
EugeneS вне форума Ответить с цитированием
Старый 25.11.2009, 00:37   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

спасибо за ответ!
но!...

Цитата:
Сообщение от EugeneS Посмотреть сообщение
Добрый вечер, возможно, формат ячеек, в 2003 все корректно, попробуйте выделить ячейку с неверно отраженной датой и проверить ее формат
то, что в Excel 2003 всё в порядке я в курсе... это я сразу проверил. только в 2007 такая "бяка"!

и, к сожалению, формат ячейки тоже не при чём (это я первое, что проверил ;( ) - там реально находится
06 ЯНВАРЯ 2009 ;(
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2009, 00:43   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Открыл в 2007 Все нормально
Далее экспорт Excel
Файл прилагаю
Добавил и файл Ацесса

Каюсь,не правильно сразу понял,открыл не Excel
Верно выдает январь
Вложения
Тип файла: rar test1.rar (25.3 Кб, 10 просмотров)
Тип файла: rar test.rar (10.3 Кб, 17 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 25.11.2009 в 00:51.
doober вне форума Ответить с цитированием
Старый 25.11.2009, 15:07   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Отчитываюсь.
Победить Excel 2007 "по честному" не удалось.
Найдены (как минимум) два способа решения проблемы.
1) на C# написана простенькая программка через использование библиотечки MyXls для прямой конвертации нужного DBF в XLS
(в данном случае это ещё и решает проблему множества "ручных" действий по открытию, сохранению)

2) как показал опыт, можно обойтись и средствами самого 2007 офиса. Достаточно импортировать DBF в Access 2007 и передать в Excel. всё работает!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2009, 16:11   #6
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию

Можно и с помощью foxpro из состава Visual studio. Там по умолчанию в настройках стоит американский формат даты (MDY) перевести дату в формат (DMY) после чего сохранить все DBF.
Юнлинг вне форума Ответить с цитированием
Старый 25.11.2009, 16:17   #7
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

А из-за чего возник вопрос? 2007 Excel все корректно обрабатывает.
Вложения
Тип файла: zip test1.zip (27.5 Кб, 13 просмотров)
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 25.11.2009, 16:42   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Serge_Bliznykov.
мнение:
"понадобилось обрабатывать массивы записей более 100 тыс..." совсем не повод для перхода на Office 2007.
"как показал опыт" - любые табличные данные объемом более 100 строк (записей) "достойны" обработки в СУБД, скорость и качество обработки не идет в сравнение с электронными таблицами.
И Ваша "проблема" тому подтверждение.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 25.11.2009, 19:55   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Юнлинг, я не знаю, какую версию FoxPro Вы имеете в виду и что подразумеваете под "перевести дату в формат (DMY) после чего сохранить все DBF", может, какой новый формат DBF, но, причина огромной популярности DBF - как раз таки в простоте его структуры. и внутри Date (дата) там занимает 8 байт и хранится ВСЕГДА в формате YYYYMMDD - что позволяет абстрагироваться от различных разделителей, разных форматов и прочая, прочая, прочая... и почему в Excel 2007 возникает проблема с импортом, могу только предположить, что дело в криворукости новых разработчиков! я уже не говорю о том, что не могу понять - ЗАЧЕМ БЫЛО УБИРАТЬ в Excel возможность сохранять таблицу в DBF ?!!

___________________________

mchip, не могу посмотреть, под рукой нет офиса.
Но если это действительно так - это ОЧЕНЬ интересно. Почему у Вас импорт произошёл по другому!!! Вы что-то настраивали? Формат даты где-то задавали?! или всё по умолчанию?!
___________________________

Teslenko_EA, Евгений, когда я говорю "жизнь" заставила, это означает — "жизнь заставила"
Это не мой выбор. Вышестоящая организация таким образом организует закачку данных в SAP R3. Присланы файлы по разным участкам. по одному более 100 тысяч записей. Умнее, чем прислать шаблоны для заполнения, в Excel 2007 они ничего не придумали. А нам нужно заполнить и отослать (точнее это уже выполнено. и, надеюсь, что последний раз).

Но по сути я с Вами согласен. Как человек, который ЕЖЕДНЕВНО имеет дело с MS SQL, Oracle, Firebird (с последней, к счастью не ежедневно, изредка и поверхностно), могу сказать, что Вы абсолютно правы!
электронным таблицам - табличное, а БД должны обрабатываться в СУБД!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2009, 21:07   #10
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

Да. Все настройки по умолчанию.
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при открытии файла Ciberal Общие вопросы Delphi 2 09.06.2009 22:58
Ошибка при открытии файла.doc ruavia3 Microsoft Office Word 1 20.05.2009 20:27
Зависание при открытии сетевого файла Bes1k Microsoft Office Excel 1 02.03.2009 07:38
C++: ошибка при открытии файла Retiz Помощь студентам 2 30.08.2008 22:12
ошибка при открытии файла pas Var17 Общие вопросы Delphi 2 23.01.2008 15:30