Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.27;
Скачать: CL | DM;

Вниз

Определить документ MSOffice   Найти похожие ветки 

 
Ega23 ©   (2007-12-25 19:02) [0]

Задача такова:
есть директория с каким-то количеством файлов. Некоторые из них - файлы Excel, некоторые - Word, некоторые, например, PowerPoint.
Есть ли у них какая-то общая сигнатура (или общий интерфейс), по которому их можно однозначно отсортировать?


 
clickmaker ©   (2007-12-25 19:11) [1]

D0 CF 11 E0 A1 B1 1A E1
в начале файла


 
Ega23 ©   (2007-12-25 19:20) [2]


> D0 CF 11 E0 A1 B1 1A E1


Ага. А, собственно, отличить Excel-файл, от документа Word? На уровне сигнатуры можно отличить, или уже пытаться OLE-объект создавать и exception ловить?


 
turbouser ©   (2007-12-25 19:22) [3]


> Ega23 ©   (25.12.07 19:20) [2]

А по расширению почему нельзя?


 
b z   (2007-12-25 19:30) [4]


> > D0 CF 11 E0 A1 B1 1A E1

Для нового офиса (2007) такое не работает, там docx и xlsx = архив, а вот к примеру mpp (Project) по старому.


 
Ega23 ©   (2007-12-25 19:51) [5]


> А по расширению почему нельзя?


Я и для текстового файла могу расширение bmp поставить


 
clickmaker ©   (2007-12-25 19:58) [6]


> [5] Ega23 ©   (25.12.07 19:51)

какое-то мелкое хулиганье у тебя пользователи )


 
turbouser ©   (2007-12-25 20:03) [7]


> Ega23 ©   (25.12.07 19:51) [5]
>
> Я и для текстового файла могу расширение bmp поставить

Можно о форматах например тут http://www.opennet.ru/links/sml/7.shtml посмотреть


> clickmaker ©   (25.12.07 19:58) [6]
>
> какое-то мелкое хулиганье у тебя пользователи )

+1


 
Dimaxx ©   (2007-12-25 21:14) [8]


> D0 CF 11 E0 A1 B1 1A E1
> в начале файла

Такую же сигнатуру имеет графический формат FlashPix (*.fpx) - он никакого отношения к офису не имеет.


 
clickmaker ©   (2007-12-25 21:16) [9]


> [8] Dimaxx ©   (25.12.07 21:14)

я подозреваю, что это общая сигнатура Structured Storage, каковыми являются в том числе офисные файлы


 
Amoeba ©   (2007-12-25 21:58) [10]


> clickmaker ©   (25.12.07 21:16) [9]
>
>
> > [8] Dimaxx ©   (25.12.07 21:14)
>
> я подозреваю, что это общая сигнатура Structured Storage,
>  каковыми являются в том числе офисные файлы

Это бесспорный факт. У меня как раз есть проект с использованием структурированных хранилищ, и все соответствующие файлы действительно имеют в начале эту 8-байтовую последовательность: D0 CF 11 E0 A1 B1 1A E1.


 
umbra ©   (2007-12-26 10:53) [11]

в "старых" документах оффиса в блоке размером 128 байт по смещению 512  от конца документа есть название приложения оффиса, в котором сделан файл.


 
Ega23 ©   (2007-12-26 11:15) [12]

от конца????


 
umbra ©   (2007-12-26 11:16) [13]

да.


 
Ega23 ©   (2007-12-26 11:24) [14]

Ну вижу в концце секцию "Root Entry". Ну проставлено там WorkBook.
Неубедительно, как-то...


 
umbra ©   (2007-12-26 13:37) [15]

да, это я погорячился, что во всех документах. В ворде есть, да и то не всегда, как оказалось.



Страницы: 1 вся ветка

Текущий архив: 2008.01.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.055 c
2-1198598547
Ega23
2007-12-25 19:02
2008.01.27
Определить документ MSOffice


2-1198874994
Efir
2007-12-28 23:49
2008.01.27
DoubleClick в OpenDialog


2-1198144416
Василий
2007-12-20 12:53
2008.01.27
Скомандовать файлу справки из приложения


15-1198096464
Иксик
2007-12-19 23:34
2008.01.27
Уважаемые модераторы


2-1198594274
Ламот
2007-12-25 17:51
2008.01.27
SQL create table