Excelsheet

Door Martijn Wieringa, 13 jaar geleden, 10.268x bekeken

Een simpel PHP script om een .XLS bestand te kunnen genereren. Handig voor o.a. exporteren van gegevens van uit je database. Voor situaties waar CSV bestanden te ingewikkeld zijn voor de eindgebruikers ;)

Compatible met o.a. Microsoft Office Excel 1997-2007 en Open Office Calc.

Voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

    require_once('excelsheet.cls.php');

    $aData = array();
    $aData[] = array('ID', 'Naam', 'Email');
    $aData[] = array('1', 'Henk', 'henk@yahoo.nl');
    $aData[] = array('2', 'Kees', 'kees@msn.nl');
    $aData[] = array('3', 'Klaas', 'klaas@gmail.nl');
    $aData[] = array('4', 'Jan', 'jan@hotmail.nl');
    $aData[] = array('5', 'Peter', 'peter@live.nl');

    $oExcel = new Excelsheet();
    $oExcel->addData($aData);
    $oExcel->sendFile('export.xls');

?>

Gesponsorde koppelingen

PHP script bestanden

  1. excelsheet.cls.php

 

Er zijn 9 reacties op 'Excelsheet'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Lano Heeren
Lano Heeren
13 jaar geleden
 
0 +1 -0 -1
Heb je ook een voorbeeld hoe je de class kunt gebruiken?
Martijn Wieringa
Martijn Wieringa
13 jaar geleden
 
0 +1 -0 -1
Zie script ;)
Lano Heeren
Lano Heeren
13 jaar geleden
 
0 +1 -0 -1
Bedankt Martijn, ga het zeker uitproberen.
Chris -
Chris -
13 jaar geleden
 
0 +1 -0 -1
Martijn, kun je me uitleggen waarom je hebt gekozen voor een nieuwe instantie van de class in de functie arrayToExcel? Is dit een foutje geweest of een bewuste keuze? Dit zou toch makkelijk gewoon $this-> kunnen zijn geweest?
Martijn Wieringa
Martijn Wieringa
13 jaar geleden
 
0 +1 -0 -1
Heel vaak heb ik een 2D array (recordset) die in met minimaal aan regels code wil kunnen exporteren. Met die functie kun je eenvoudig doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    arrayToExcel($aData, 'export.xls');
?>
Pim -
Pim -
13 jaar geleden
 
0 +1 -0 -1
Waarom maak je er dan geen statische functie van? En waarom GPL, die commercieel gebruik niet toestaat?
Martijn Wieringa
Martijn Wieringa
13 jaar geleden
 
0 +1 -0 -1
De functie 'arrayToExcel()' is een door mij veel gebruikte toepassing van de class; maar is beslist geen onderdeel van de basis functionaliteit van deze class.

De functie zit er in als voorbeeld, maar is in principe niet noodzakelijk voor gebruik van de class.
Niels K
Niels K
13 jaar geleden
 
0 +1 -0 -1
Paar dingen.

- Uitbreiden moet mogelijk zijn, dus maak gewoon je variabelen protected.
- Een eigen keuze dat i,a,o voor variabelen maar vraag me af wat het nou voor zoveel meerwaarde heeft. Maar goed, nogmaals persoonlijke keuze.
- Je klasse heeft een constructor maar deze doet voor de rest niks? Gewoon weghalen dus, scheelt weer 5 regels
- Wat ik hierboven vertelde over uitbreiden geldt ook voor de private methodes.

Verder mis ik PHPdoc? Voor de rest is het wel een leuke toevoeging in de library.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Hank Noseman
Hank Noseman
11 jaar geleden
 
0 +1 -0 -1
Is het ook mogelijk om met het script de format van een cel te veranderen. Ik heb het getal 736363738363733 in een cel en dat wordt weergegeven als 7,36364E+14. Ik wil dan de celeigenschap op 'Getal' zetten met 0 decimalen?

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. excelsheet.cls.php

Labels

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.