Web Design Box Gazduire ROHOST Inregistrare

Categorii

Navigator

DOT COM. DCOM.

Stau cuminte si verific trei rapoarte care trebuie predate la sfarsitul zilei. Proiect mare .. documente multe. Seful se apropie tiptil si ma intreaba daca am timp sa termin pana la sfarsitul saptamanii o noua serie de fise cu datele de mentenanta pentru echipament. Format similar .. toate informatiile exista deja intr-o baza de date MS-SQL. Problema lui [acum si a mea] este formatul XLS in care vor fi trimise clientului. Si nu's putine, doar 2532 fisiere. Cate unul pentru fiecare echipament livrat.

Am deja instalat un Apache, cu suport PHP, pe platforma Windows. Norocul meu este ca PHP-ul are o extensie numita COM (Component Object Model). Arhitectura se bazeaza pe refolosirea componentelor software, iar tehnologia este dezvoltata de Microsoft, fiind destul de raspandita. Toate componentele MS-Office, AutoCAD-ul chiar si Adobe Photoshop fac uz de ea. Din pacate doar versiunea Windows a PHP-ului are extensia asta.

Gata cu strategia. Deschid Notepad-ul si ma apuc de treaba .. "report.php"

<?php
// create object instance
$excel = new COM("Excel.Application") or die("Excel could not be started");
// pop open the Excel application
$excel->Visible = 1;
// turn off alerts
$excel->DisplayAlerts = 0;
// add a workbook
$excel->Workbooks->Add();
// save
$excel->Workbooks[1]->SaveAs("C:\\CMMS.xls");
// close the application
$excel->Quit();
$excel = null;
?>

Cand chem in browser fisierul "report.php" se intampla foarte repede urmatoarele:

- se deschide o fereastra Microsoft Excel.
- este incarcat un fisier nou, care este denumit "CMMS.XLS"
- fereastra Excel se inchide imediat dupa ce fisierul este salvat.

Extensia COM a PHP-ului asigura accesul si manipularea obiectelor COM deja inregistrate in laptop-ul la care lucrez. Unul din aceste obiecte este "Excel Application", inregistrat la instalarea suitei Office. Obiectul are un numar de metode si proprietati care pot fi accesate si folosite de oricine (atata vreme cat "oricine" asta are drept de acces la ele).

Primul pas in folosirea obiectelor COM in scripturi este instantierea clasei COM. Argumentul transmis constructorului clasei este numele componentei folosite. In cazul de fata, pentru ca am nevoie de MS-Excel, am folosit obiectul Excel.Application.

In mod implicit, PHP-ul considera ca obiectul este accesibil local. In cazul in care este necesara conectarea la obiecte ruland in alte computere, al doilea argument transmis constructorului (optional) este numele serverului. In acest caz, in php.ini trebuie sa existe linia "com.allow_dcom = true", ori se poate folosi functia ini_set().

Obiectul Excel.Application are un numar relativ mare de metode si proprietati. Le pot folosi pentru a crea fisiere, pot adauga tab-uri, sau adauga continut ori formule in celulele in care am nevoie. Nu in ultimul rand, pot sa formatez textul si sa salvez rezultatele undeva.

Chiar daca testul de mai sus este extrem de simplu, Obiectul COM imi ofera un mod de a automatiza crearea celor 2532 de fisiere .. treaba care parea la inceput aproape imposibila ..

Cool nu?

Your blog is my favorite,

Your blog is my favorite, congratulates. Often I'll look here, a lot of information and nice site. Tom Davis

In the early 1920s, the

In the early 1920s, the first internet marketing radio stations were established by radio equipment manufacturers and retailers who offered programs in order to sell more radios to consumers. As time passed, many non-profit organizations followed suit internet phone in setting up their own radio stations, and included: schools, clubs and civic groups.[7] When the practice of sponsoring programs was popularised, each individual radio program was usually sponsored by a single business in exchange accept credit card for a brief mention of the business' name at the beginning and end of the sponsored shows. However, radio station owners soon realised they could earn more money by selling sponsorship rights in small time allocations to multiple businesses throughout their radio station's broadcasts, rather than selling the isp sponsorship rights to single businesses per show.

solutie multiplatforma

intr-adevar o solutie simpla, dar ce ne facem daca lucram pe un alt sistem de operare? :)
baietii de la Microsoft ofera o solutie open-source numita PHPExcel sub licenta LGPL la adresa web http://www.codeplex.com/PHPExcel .
enjoy! ;)

dar

unde gasesti o lista cu functiile unei clase com ?

P.S.: scuze eclipse, nu intentionam ca comentariul meu sa fie raspuns la alt tau

COM / DCOM

Pentru orice alt obiect COM/DCOM inregistrat la time in PC, poti folosi cu incredere

Oleview.exe: OLE/COM Object Viewer

il gasesti in orice Kit cu resurse windows (i.e. Windows Server 2003 Resource Kit Tools)

MSDN

Daca este vorba de Excel sau Word, MSDN este locul unde gasesti decrise toate metodele si proprietatile de care ai nevoie.

linux, php, excel:poate nu am inteles eu ideia corecta

dar si sub linux poti lucra fisiere excel cu php'ul (fara sa folosesti COM).

Autentificare utilizatori

Cele mai populare articole

Articole recente în blog

Ultimele discutii pe forum

Feed

Emite conţinut