ПредишенСледващото

Excel, всяка книга се съхранява в съединение файл [един от формата OLE - ок. Trans.].

Ако решите да прочетете тази документация, с надеждата през уикенда, за да напишете внос Word документи в блога си двигател, или въвеждат личните си финанси под формата на електронни таблици Excel - сложността и продължителността на спецификацията бързо избият да го издирват. Нормално програмист ще дойде до заключението, че двоичните формати Office 1) умишлено направени сложни и тъмни; 2) той е само един луд да мисля киборг; 3) бяха създадени изключително нелеп програмисти; и 4) не може да бъде правилно да четат и пишат.

Мога да ви уверя: Не е вярно. Смятаме, че заедно, и аз ще ви покажа защо тези формати са станали толкова сложни, защо това не означава, Microsoft некомпетентност и как да получите около всичко това.

Те са предназначени за много бавни компютри. В първите версии на Excel за Windows. 1 мегабайт RAM е обикновено количеството памет и 20 мегахерца 80386 може удобно шофиране Excel. В Microsoft формати са имали много оптимизация, която ви позволява да отваряте и записвате файлове по-бързо.

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

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

Помислете например за по-подробно един малък пример. Excel файл - това е един куп записи в Биф формат. Първият запис в този файл се нарича 1904.

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

От това само един извод. Изданието формат Office файлове - това е добре за Microsoft. и за нея продукт, но това не се внасят или да запишете файлове в Office по-лесно. Офис програми безумно сложен и многостранен, и е невъзможно да се реализира само 20% от най-популярните функции и донесе щастие на 80% от хората. Спецификация на бинарни файлове, всъщност, да запази само няколко минути, прекарани на "бърникането" в една изключително сложна система.

Да, обещах заобиколни. Добрата новина за повечето видове писане на софтуер за четене или писане на Office документи - грешно решение. Има две големи алтернативи: да направи Office върши цялата мръсна работа вместо вас, или можете да използвате обикновен формат.

Осъществяване на Службата да свърши мръсната работа за vas.Word и Excel обвързани с сложни обектни модели, въз основа на COM автоматизация, която позволява на софтуера да правите нищо. В много ситуации, тя ще бъде по-лесно да се използва код за офис. отколкото да се опитва да го приложат от нулата. Ето няколко примера.

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

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

Във всички тези случаи, има начини да се каже Службата обекти. че те не работят интерактивно и преначертаване на екрана не се изисква. Между другото, ако искате да отидете по този начин, има някои капани, така че преди да започнете, прочетете базата знания на Microsoft.

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

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

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

Свързани статии

Подкрепете проекта - споделете линка, благодаря!