Vorige keer dat jullie me hier zagen was ik nog redelijk phpnewb, inmiddels is dat iets beter
Ik ben nu bezig met een project voor een Excel-freak. Hij heeft een standaard Excel-sheet gemaakt voor zijn prijsberekeningen. Zodra hij een paar waarden copy|paste in een werkblad, dan krijg hij gelijk alle totaalprijzen, offertes, enz. te zien.
Nu zou het dus mooi zijn als ik met PHP in een Excel-sheet kon schrijven. Dus een template.xls waarin de formules staan, en in de lege velden laat ik PHP de waardes schrijven die uit een db komen.
Ik heb het volgende:
Nou hoef je mij niet te vertellen dat de eerste fopen() fout is, maar hoe moet ik dit anders aanpakken? Het is me gelukt om een Excel-file te maken via een COM, maar om alle formules ook via de manier erin te zetten is erg veel werk, oftewel: TEveel werk. Er moet iets zijn waardoor ik de .xls kan openen, erin schrijven, en opslaan met een andere filename.
Thx alvast
Ik ben nu bezig met een project voor een Excel-freak. Hij heeft een standaard Excel-sheet gemaakt voor zijn prijsberekeningen. Zodra hij een paar waarden copy|paste in een werkblad, dan krijg hij gelijk alle totaalprijzen, offertes, enz. te zien.
Nu zou het dus mooi zijn als ik met PHP in een Excel-sheet kon schrijven. Dus een template.xls waarin de formules staan, en in de lege velden laat ik PHP de waardes schrijven die uit een db komen.
Ik heb het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| <?php $WkExcel = fopen("template.xls","wr"); $Data = $WkExcel->Workbooks->add(); //activeer het bestand $Sheets = $Data->Worksheets(1); //herbenoem de naam van het actieve werkblad $Sheets->name = 'naam'; $Cell = $Sheets->Cells(1,1); $Cell->activate; $Cell->value= '$naam'; $Sheets->name = 'adres'; $Cell = $Sheets->Cells(1,2); $Cell->activate; $Cell->value= '$adres'; // sla het gemaakte bestand op $Data->SaveAs("C:/test.xls"); // download bestand header('Content-type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename="test.xls"'); readfile('test.xls'); //sluit excel af $WkExcel->Quit(); unset($WkExcel); ?> |
Nou hoef je mij niet te vertellen dat de eerste fopen() fout is, maar hoe moet ik dit anders aanpakken? Het is me gelukt om een Excel-file te maken via een COM, maar om alle formules ook via de manier erin te zetten is erg veel werk, oftewel: TEveel werk. Er moet iets zijn waardoor ik de .xls kan openen, erin schrijven, en opslaan met een andere filename.
Thx alvast
[ Voor 7% gewijzigd door BlueAce op 10-02-2004 15:52 ]