formate de fișiere de birou De ce Microsoft un astfel de complex
Fiecare foaie [caiet] în fișierul Excel stocat în compozit.
Dacă credeți că respectarea acestor formate și de ieșire a schițat utilitate pentru documentele vordovsky la export pe blog-ul dvs., sau pentru a crea un comprimate ekselevskie pe baza datelor financiare personale, complexitatea și durata acestor specificații au fost să vă descurajeze toate vânătoare. programator normal decide că formatul binar al Oficiului:
Și face o greșeală. Dacă sapi în jurul valorii, vă poate arăta cum și de ce aceste formate au devenit atât de complicate, de ce ei nu au nimic de a face cu programare săraci și pe care le puteți face.
Primul lucru pentru a înțelege - obiectivul dezvoltatorilor format binar este fundamental diferit de obiectivele dezvoltatorilor, de exemplu, HTML.
Ei au trebuit să lucreze foarte repede pe computere foarte vechi. In timpul primelor versiuni de Excel pentru Windows 1 MB de memorie nu au fost mai puțin frecvente, iar programul de lucru a fost destul de confortabil pe 80386 procesoare cu o frecvență de 20 MHz. O mulțime de optimizări făcut pentru a accelera salvarea fișierelor de deschidere și:
Acestea au fost proiectate cu un ochi la bibliotecă. Dacă a trebuit să scrie funcția binară de import de la zero, trebuie să mențină lucruri, cum ar fi formatul Metafișier Windows (desen) și OLE Compusul de depozitare. Atunci când rulează sub Windows pentru ei să aibă bibliotecă, astfel încât să sprijine astfel de funcții a fost chestiune banală. Dar dacă scrieți totul de la zero, totul ar trebui să fac totul singur.
La Oficiul a fost de a sprijini documente compuse, de exemplu, ar putea include o foaie de calcul într-un fișier Word. Perfect parser Word ar trebui să fie capabil să facă ceva inteligent cu tabelul inclus.
Ei au nevoie pentru a reflecta complexitatea cererii. Fiecare verifica fiecare oportunitate și fiecare format de funcții Microsoft Office trebuie să fie stocate în fișiere. Prin urmare, pentru a crea o clonă perfectă a Cuvântului, citirea fișierelor, a fost necesar pentru a îndeplini toate funcțiile sale. Dacă creați un program pentru a lucra cu textul - Word concurent, care ar trebui să poată descărca fișierele, puteți lua un pic de timp în sine de încărcare specificată, în fișierul de opțiuni. Dar ei tot ecranul efectiv al paginii - aceasta este sarcina mai dificilă. Și dacă nu poate fi rezolvată, atunci clienții vor deschide fișierul vordovsky în descendența, și toate formatare poate merge prost.
Ei au nevoie pentru a reflecta istoria programelor de dezvoltare. O mulțime de lucruri dificile în formate - este veche, complicată, inutilă și rareori funcțiile utilizate. Ele sunt prezente numai pentru compatibilitate inversă, și pentru că nu este necesar să se lase codul singuri pentru dezvoltarea personală. Dar, pentru a efectua cu atenție de lucru dezasamblare sau scrie aceste fișiere, va trebui să repete toate lucrările pe care a fost făcut de Microsoft timp de 15 ani. În versiunile curente ale Word și Excel investit mii de ore de muncă de muncă, precum și pentru donarea acestor programe, va trebui să anexeze mii de ore-om. Formatul de fișier - acesta este doar un scurt rezumat al tuturor caracteristicilor aplicației acceptate.
Doar pentru un exemplu Să examinăm încă o oportunitate. Excel foaie de lucru - o colecție de înregistrări diferite BIFF. Luați în considerare prima înregistrare în caietul de sarcini - o înregistrare a numelui în 1904.
Specificația pentru acest post este scris foarte vag. Pur și simplu spune că „înregistrarea 1904 indică dacă este utilizat sistemul de 1904 data.“ Un exemplu clasic de caietul de sarcini inutile. Dacă ai fi fost un dezvoltator, și s-ar fi dat peste această „explicație“, v-ar fi destul de justificat la concluzia că Microsoft are ceva de ascuns. Această descriere nu este suficient pe cont propriu, trebuie să caute mai multe informații. Permiteți-mi să explic: există două tipuri de foi Excel. Unele date pornesc de la 1/1/1900 (în care eroarea an bisect este special conceput pentru a fi compatibil cu formatul 1-2-3), în timp ce altele - de la 01.01.1904. Excel suportă atât - de la prima sa versiune pentru Mac, utilizați a doua opțiune, care a fost sistemul, și Excel pentru Windows ar trebui să poată să importe fișiere 1-2-3, care au folosit data la 1/1/1900. Deja în acest moment, poți plânge.
Ambele tipuri de fișiere 1900 și 1904 se gasesc din abundenta in salbaticie, în funcție de faptul dacă au venit de la un Mac sau Windows. Data de conversie automată poate duce la erori, astfel încât Excel în sine nu se schimba tipul de fișier. Pentru dezasamblare de fișiere Excel pentru a lucra cu ambele. Acest lucru înseamnă că nu trebuie doar să descărcați biții din dosar, dar, de asemenea, pentru a rescrie întregul parsarea de cod și afișarea date, să accepte, fie. Acesta este un loc de muncă pentru câteva zile.
Și acesta este doar unul dintre sutele de BIFF-înregistrări, și una dintre cele mai simple. Cele mai multe dintre ele sunt atât de complexe încât acestea să poată face o plîng programator pentru adulți.
Dar am promis să-ți spun ce să faci. Aproape toate aplicațiile populare nu au nevoie pentru a practica citirea și scrierea din binarele Office. Există două opțiuni: pentru a da Oficiului să le lucreze, sau de a folosi un simplu formate de fișiere.
Să se lucrează de birou. În Word și Excel, există un model obiect foarte complet, disponibil prin intermediul COM de automatizare, prin care programul poate face totul. În multe cazuri, este mai bine cod pentru a re-utilizare de la Office în loc de a încerca să-l scrie din nou. exemple:
Această abordare funcționează cu toate sarcinile pe scară largă legate de Office. De exemplu:
- Deschiderea unei foi Excel, salvarea unora dintre datele din celule, numărarea și livrarea rezultatelor.
- Utilizați Excel pentru a crea grafice în format GIF
- Eliminarea tuturor informațiilor dintr-un fișier Excel fără a interpreta formate de fișiere
- Conversia fișier Excel în format CSV (o altă abordare - de a utiliza Excel driverele ODBC și să ia datele prin intermediul SQL-interogări)
- Editați documente Word
- Completarea formularelor în Word
- Conversia fișierelor între diferite formate care sunt acceptate de Oficiul (există zeci de posibile formate de import de procesoare de text și foi de calcul).
În toate aceste cazuri, este posibil să se explice obiectul Office care acestea nu funcționează on-line, astfel încât acestea nu trebuie să refresh ecran și cere date introduse de utilizator. În acest fel, există câteva capcane, și nu este acceptat în mod oficial de către Microsoft, astfel încât înainte de a începe, citiți materialul.
Utilizați formate mai ușor. Dacă aveți nevoie doar de un program pentru a crea documente de Office, este aproape întotdeauna un format mai bun, care poate fi apoi deschis în mod liber în Word sau Excel.
- Pentru a crea datele din tabel și să le utilizeze în Excel folosind CSV.
- Pentru a sprijini calculele pe care nu le pot face CSV, să ia formatul WK1. moștenit de la Lotus 1-2-3. Este mult mai ușor decât în Excel, și să le ofere la timp.
- Ei bine, dacă într-adevăr nevoie pentru a crea fișiere native Excel, să ia un site foarte vechi. 3.0 - o alegere bună, nu au existat documente compuse. Salvați în Excel 3.0 fișier minim numai acele funcții de care aveți nevoie, și de a folosi ca un exemplu de minim BIFF-înregistrări.
- Pentru a utiliza documentele Word HTML
- Dacă într-adevăr nevoie pentru a crea un fișier în Word cu formatare la modă, cel mai simplu mod de a crea RTF. Tot ceea ce este capabil să Word, puteți scrie la RTF, dar formatul textului, astfel că există ceva ce se poate schimba mâinile, și va funcționa. Puteți crea fișiere frumos formatate în Word, salvați ca RTF și de a folosi o substituție de text simplu.