Защо Microsoft Office файлови формати като комплекс

Всеки лист [книга] в Excel файл, съхранен в композита.

Ако мислите, че в чест на тези формати и изход, обрисувани полезност за износ vordovsky документи към вашия блог или създайте ekselevskie таблети на базата на личните си финансови данни, сложността и продължителността на тези спецификации са да ви обезкуражи всички лова. Нормално програмист реши, че двоичен формат на Службата:








И това прави грешка. Ако копаят наоколо, можете да покажете как и защо тези формати са станали толкова сложни, защо те нямат нищо общо с лошо програмиране и че можете да направите за него.

Първото нещо, което да се разбере - целта на разработчиците двоичен формат е коренно различна от целите на разработчиците, например, HTML.

Те трябваше да работи много бързо на много стари компютри. По време на първите версии на Excel за Windows 1 MB памет, не са рядкост, а работната програма беше достатъчно удобно за 80386 процесори с честота от 20 MHz. Много от оптимизации направи, за да се ускори отварянето и записването на файловете:

Те са проектирани с оглед на библиотеката. Ако трябваше да се напише двоичен функцията за импортиране от нулата, което трябва да се поддържа неща, като формат на Windows Metafile (рисунка) и OLE Съединение съхранение. При работа под Windows, за да имате в библиотеката, така че да подкрепят такива функции е тривиален въпрос. Но ако ти пиша всичко от нулата, всичко ще трябва да направи всичко сам.

В службата е в подкрепа на сложни документи, например, може да включва електронна таблица във файл Word. Perfect Word анализатора трябва да бъде в състояние да направи нещо умно с включена таблица.

Те се нуждаеха, за да отразява сложността на заявлението. Всяка проверка на всяка възможност и всеки формат Microsoft Office функция трябва да се съхраняват във файлове. Следователно, за да се създаде добра клонинг на Word, четене на файлове, че е необходимо да се извършат всички негови функции. Ако се създаде програма за работа с текст - Word конкурент, който трябва да бъде в състояние да изтеглите файловете, можете да отнеме малко време сама да натовари определен във файла за опции. Но действителната им се изпише на страницата - това е задачата, по-трудно. И ако това не може да бъде решен, тогава вашите клиенти ще се отворят vordovsky файл в потекло, и цялото форматиране може да се обърка.

Те необходими за отразяването на историята на програмите за развитие. Много трудни неща във формати - това е стар, сложно, ненужно и рядко използвани функции. Те присъстват само за обратна съвместимост, както и поради това не е необходимо да напуснат кода само за лично развитие. Но да се извърши внимателно демонтажни работи, или да пишете на тези файлове, ще трябва да се повтаря цялата работа, която е била извършена от Microsoft на 15 години. В сегашните версии на Word и Excel инвестирала хиляди човекочаса на работа, както и за клонирането на тези програми, ще трябва да приложите копие на хилядите човекочаса. Формат на файла - това е само кратко обобщение на всички функции на приложенията поддържат.







Само за пример Нека разгледаме още една възможност. Excel лист - колекция от различни записи Биф. Помислете за първия запис в спецификацията - запис на името през 1904.

Спецификацията за този пост е написано много неясно. Просто казва, че "записа 1904 показва дали се използва системата за 1904 дата." Един класически пример на безполезен спецификация. Ако сте били един разработчик, и би попаднал на това "обяснение", ще бъде доста основателно да заключи, че Microsoft има какво да крия. Това описание не е достатъчно само по себе си, трябва да се търси за повече информация. Нека обясня: има два вида листа Excel. Някои дати започват от 01.01.1900 (в която година грешката при скок е специално проектиран да бъде съвместим с формата 1-2-3), а други - от 01.01.1904. Excel поддържа и двата - от първата си версия за Mac, използвайте втората опция, която е била системата и Excel за Windows трябва да бъде в състояние да внесат файлове 1-2-3, които се използват от датата на 01.01.1900. Още на този етап можете да плаче.

И двата типа файлове 1900 и 1904 се намират в изобилие в природата, в зависимост от това дали те идват от Mac или Windows. Автоматична дата преобразуване може да доведе до грешки, така че самата Excel не се променя вида на файла. За демонтаж на Excel файлове, за да работят и с двете. Това означава, че вие ​​не само трябва да изтеглите на бита от файла, но също така да се пренапише целия код разбор и показването на дати, за да приемете един от двамата. Това е работа за няколко дни.

И това е само един от стотиците Биф-записи, както и един от най-простите. Повечето от тях са толкова сложни, че те могат да направят за възрастни програмист плачат един.

Но аз обещах да ви кажа какво да правите. Почти всички популярни приложения не трябва да практикуват четене и писане от двоичните файлове на Office. Има две възможности: да се даде на Службата за себе си работа, или да използвате един прост файлови формати.

Нека Office се работи. В Word и Excel, има много завършен обектен модел, достъпен чрез COM автоматизация, с което програмата може да направи всичко. В много случаи е по-добре да се използват повторно код от Office вместо да се опитва да го напиша отново. примери:

Този подход ще работи с всички широко разпространени задачи, свързани с Office. Например:

  • Откриване на лист Excel, спестяване на някои от данните в клетки, броене и постигане на резултати.
  • Използване на Excel за създаване на графики в GIF формат
  • Премахване на цялата информация от един файл, Excel, без разбор на файлови формати
  • Конвертиране на Excel файл в CSV (друг подход - да се използва Excel ODBC драйвери и да вземат данните чрез SQL-заявки)
  • Редактиране на Word документи
  • Попълване на формуляри в Word
  • Конвертиране на файлове между различни формати, които се поддържат от Office (има десетки възможни формати за импортиране на текстообработка и електронни таблици).

Във всички тези случаи е възможно да се обясни Офис обекта, че те не работят онлайн, така че те не трябва да се обнови екрана и да поиска намеса на потребителя. По този начин има няколко клопки, и тя не се поддържа официално от Microsoft, така че преди да започнете, прочетете материала.

Използвайте формата по-лесно. Ако просто е необходима програма за създаване на документи на Office, тя почти винаги е по-добър формат, който след това може да бъде свободно отворен в Word или Excel.

  • За да създадете таблицата с данни и да ги използвате в Excel с помощта на CSV файл.
  • В подкрепа на изчисленията, които не могат да направят CSV, да вземе формата на WK1. наследена от Lotus 1-2-3. Тя е много по-лесно, отколкото в Excel и да ги предложи на време.
  • Ами ако наистина имате нужда да се създадат местни Excel файлове, да вземе един много стар сайт. 3.0 - добър избор, не е имало сложни документи. Запази в Excel 3.0 минимум файл само тези функции, от които имате нужда, и да го използвате като пример за минималните Биф-записите.
  • За да използвате документи Word HTML
  • Ако наистина трябва да създадете файл на Word с модерен форматиране, най-лесният начин за създаване на RTF. Всичко, което е в състояние да Word, можете да пишете на RTF, но формата на текста, така че да има нещо, което може да се промени ръце, и той ще работи. Можете да създадете красиво файла си в Word, освен RTF и използваме просто заместване на текст.