PHP naar Excel downloaden
Pim B
15/02/2011 01:00:38Hoi,
Ik wil de inhoud van m'n PHP-pagina downloaden naar een excel-file.
Ik heb dit:
Het gaat bijna goed. Als ik de pagina open, wordt er automatisch een excel-file geopend. Alleen staat de hele rij met gegevens in kolom A. De komma werkt dus niet. Ik heb de komma's vervangen door \t, maar dat werkt ook niet. Wat moet ik doen zodat alle gegevens gewoon in aparte cellen komen te staan?
Ik wil de inhoud van m'n PHP-pagina downloaden naar een excel-file.
Ik heb dit:
Code (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
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
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('database');
$XML = "id,naam,verzonden,ontvangen,betaald,datum\n";
$file ="Betalingslijst". ".csv";
$query = "SELECT * FROM betalingslijst ORDER by id";
$result = mysql_query($query);
while($myrow = mysql_fetch_array($result)) {
$XML.= $myrow['id']. ",";
$XML.= $myrow['naam']. ",";
$XML.= $myrow['verzonden']. ",";
$XML.= $myrow['ontvangen']. ",";
$XML.= $myrow['betaald']. ",";
$XML.= $myrow['datum']. "\n";
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$file\"");
header("Content-Transfer-Encoding: binary");
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')){
header('Cache-Control: public');
}
echo $XML;
exit;
?>
mysql_connect('localhost', 'root', '');
mysql_select_db('database');
$XML = "id,naam,verzonden,ontvangen,betaald,datum\n";
$file ="Betalingslijst". ".csv";
$query = "SELECT * FROM betalingslijst ORDER by id";
$result = mysql_query($query);
while($myrow = mysql_fetch_array($result)) {
$XML.= $myrow['id']. ",";
$XML.= $myrow['naam']. ",";
$XML.= $myrow['verzonden']. ",";
$XML.= $myrow['ontvangen']. ",";
$XML.= $myrow['betaald']. ",";
$XML.= $myrow['datum']. "\n";
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$file\"");
header("Content-Transfer-Encoding: binary");
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')){
header('Cache-Control: public');
}
echo $XML;
exit;
?>
Het gaat bijna goed. Als ik de pagina open, wordt er automatisch een excel-file geopend. Alleen staat de hele rij met gegevens in kolom A. De komma werkt dus niet. Ik heb de komma's vervangen door \t, maar dat werkt ook niet. Wat moet ik doen zodat alle gegevens gewoon in aparte cellen komen te staan?