De ce sunt atât de complexe formatele de birouri Microsoft (și cum se înțelege acest lucru)?

Fiecare registru de lucru Excel este stocat într-un fișier compus [unul din formatele OLE. Trans.].

Dacă decideți să citiți această documentație, în speranța de peste week-end pentru a scrie documente Word import motorului dvs. de blog, sau de a aduce finanțele personale sub formă de foi de calcul Excel - complexitatea și lungimea caietul de sarcini repulse repede ai vâna.





Un programator obișnuit va ajunge la concluzia că formatele binare ale Biroului 1) sunt intenționat făcute complexe și întunecate; 2) acest lucru ar putea fi inventat doar de un nebun nebun; 3) au fost create de programatori extrem de ineficienți; și 4) este imposibil să citiți și să scrieți corect.







Vă pot asigura: toate acestea sunt greșite. Să ne gândim împreună și vă voi arăta de ce aceste formate au devenit atât de complexe, de ce nu vorbește despre neprofesionalismul Microsoft și despre cum să-l înțelegeți.

Sunt proiectate pentru calculatoare foarte slabe. În primele versiuni de Excel pentru Windows. 1 MB RAM era cantitatea obișnuită de memorie, iar 80386 cu 20 megahertzi ar putea conduce confortabil Excel. În formatele Microsoft, a existat o mulțime de optimizare, ceea ce a facilitat deschiderea și salvarea fișierelor.

Acestea au fost concepute pentru utilizarea pe scară largă a bibliotecilor. Dacă doriți să scrie de la importator zero binar, aveți nevoie pentru a sprijini lucruri, cum ar fi Metafișier Windows (pentru grafică vectorială), containere compozite OLE și așa. Pe. Dacă sunteți pe Windows. toate acestea sunt triviale - este în API-ul Windows. Dar dacă scrieți totul de la zero, toate acestea trebuie să fie realizate. În Office, este implementat un suport extins pentru documente compozite: de exemplu, în Word puteți introduce o foaie de calcul Excel. Un importator adevărat Word ar trebui să facă ceva inteligent cu tabela OLE introdusă.

Ar trebui să reflecte întreaga istorie a Oficiului. Multe caracteristici ale formatului sunt asociate cu funcții care sunt foarte vechi, complexe și rareori utilizate. Acestea erau încă lăsate pentru compatibilitate înapoi - deoarece Microsoft nu are nevoie să părăsească codul vechi. Dar dacă doriți să dezasamblați și să scrieți aceste fișiere, va trebui să mergeți până la sfârșitul anului trecut de către programatorii obscure din Microsoft în urmă cu 15 ani. În versiunile actuale ale Word 'a și Excel' am investit deja mii de persoane-ani - și dacă doriți să vă faceți clona, ​​va trebui să lucrați de mii de ani. Formatul de fișier este doar o scurtă descriere a ceea ce face programul.

De exemplu, luați în considerare în detaliu un mic exemplu. Un fișier Excel este o grămadă de înregistrări în format BIFF. Prima intrare din acest dosar se numește 1904.

Și aceasta este doar prima dintre sutele de intrări BIFF pe care va trebui să le mențineți și una dintre cele mai simple. Multe dintre ele sunt atât de complexe încât pot confunda chiar și un programator calificat.

Din aceasta există doar o singură concluzie. Pentru a elibera formatul fișierelor Office este, de asemenea, util pentru Microsoft. și pentru produsul său, dar nu face mai ușoară importarea sau salvarea fișierelor Office. Programele de birou sunt foarte complicate și foarte complexe, fiind imposibil să se realizeze doar 20% din cele mai populare funcții și să se bucure 80% din populație. Specificarea fișierelor binare, de fapt, va salva doar câteva minute petrecute pentru a "alege" într-un sistem extrem de complex.

Da, am promis o soluție. Vestea bună: pentru majoritatea tipurilor de software pentru scrierea documentelor de birou - citire sau scriere - decizia greșită. Există două opțiuni minunate: obtinerea Office pentru a face toate lucrările murdare pentru tine, sau folosind formate mai simple.

Efectuarea Oficiului să facă treaba murdară pentru vas.Word și Excel legat de modele obiect complex, bazat pe automatizarea COM, care permite software-ul pentru a face ceva. În multe situații, va fi mai ușor să utilizați codul Office. decât să încerci să o implementezi de la zero. Iată câteva exemple.

Această abordare funcționează pentru majoritatea sarcinilor de birou care se pot executa pe serverul dvs. De exemplu:

  • Deschideți agenda de lucru Excel. Scrieți datele în celulele de intrare, recalculați și obțineți rezultatul în celula de ieșire.
  • Utilizați Excel pentru a genera diagrame în format GIF.
  • Trageți orice informație din orice tabel fără a vă gândi și minute despre fișierele de fișiere.
  • Conversia unui fișier Excel în format CSV (o altă abordare este folosirea driverelor Excel ODBC și extragerea datelor prin interogarea SQL).
  • Editați documentele Word a.
  • Completați formularul Word 'a.
  • Conversia datelor între zeci de formate diferite care sunt acceptate de Office.

În toate aceste cazuri, există modalități de a spune obiecte Obiect. că nu funcționează în modul interactiv și nu trebuie să redrafli ecranul. Apropo, dacă doriți să mergeți în acest fel, există mai multe capcane, așa că înainte de a începe, citiți baza de cunoștințe Microsoft.

Înregistrați fișiere în formate mai simple. Dacă trebuie să creați în mod programabil documente care pot fi citite în Office. Există multe alte formate pe care Office le va deschide cu încredere fără a pierde un octet.

  • Dacă aveți nevoie să traduceți date tabulare în Excel. încercați CSV.
  • Dacă aveți nevoie de calcule tabulare pe care CSV nu le acceptă, formatul WK1 (Lotus 1-2-3) este mult mai simplu și se deschide cu Excel.
  • Dacă într-adevăr, într-adevăr nevoie pentru a crea un fișier Excel este I a lua versiune foarte veche ... de exemplu, versiunea 3.0, care nu are toate aceste documente complexe - și de a salva un fișier minim care are doar caracteristicile de care aveți nevoie. În acest fișier va exista acel minim de înregistrări BIFF pe care trebuie să le înregistrați; astfel încât va trebui doar să pună în aplicare această parte a caietului de sarcini.
  • Dacă trebuie să interacționați cu Word 'ohm, puteți utiliza HTML. Cuvântul o deschide bine.
  • Și dacă aveți nevoie de un design complex, alegerea dvs. este RTF. Tot ce este în Cuvânt. pot fi scrise în RTF. Dar acesta este un format de text, nu unul binar - astfel încât să puteți înlocui unele date, iar fișierul va rămâne corect. De exemplu, creați în Word un document frumos formatat, cu "stubs" în locul datelor, și înlocuiți-le simplu cu o înlocuire simplă a textului. Acest RTF se va deschide perfect în orice versiune a Word.

În orice caz, dacă intenționați să creați un concurent pentru Office. care va citi și scrie toate documentele Office. aveți mii de ani de muncă înaintea voastră. Și dacă nu - citirea și scrierea formatelor binare, biroul va fi cea mai consumatoare de timp în munca dvs., dar o puteți face fără ea.







Articole similare

Trimiteți-le prietenilor: