Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Database til Excel skriver ikke ?

Database til Excel skriver ikke ?


 

Database til Excel skriver ikke ?

Kasper Bisgaard  

Hej alle 
Jeg har en database med noget information som jeg gerne vil have udskrevet til et excel
ark. Har fundet en kode p nettet som gr dette, men nr jeg gr det bliver  skrevet
som "ø", "å" osv. 

Hvordan forhindrer jeg dette? 

Her er min kode: 

<?php 

// DB TABLE Exporter 
// 
// How to use: 
// 
// Place this file in a safe place, edit the info just below here 
// browse to the file, enjoy! 

// CHANGE THIS STUFF FOR WHAT YOU NEED TO DO 
$dato date("d-m-Y"); 

$dbhost "localhost"
$dbuser "skjult"
$dbpass "skjult"
$dbname "skjult"
$dbtable "medlemmer"

// END CHANGING STUFF 


// first thing that we are going to do is make some functions for writing out 
// and excel file. These functions do some hex writing and to be honest I got 
// them from some where else but hey it works so I am not going to question it 
// just reuse 


// This one makes the beginning of the xls file 
function xlsBOF() { 
echo 
pack("ssssss"0x8090x80x00x100x00x0); 
return; 


// This one makes the end of the xls file 
function xlsEOF() { 
echo 
pack("ss"0x0A0x00); 
return; 


// this will write text in the cell you specify 
function xlsWriteLabel($Row$Col$Value ) { 
$L strlen($Value); 
echo 
pack("ssssss"0x204$L$Row$Col0x0$L); 
echo 
$Value
return; 




// make the connection an DB query 
$dbc mysql_connect$dbhost $dbuser $dbpass ) or die( mysql_error() ); 
mysql_select_db$dbname ); 
$q "SELECT familie, medlemsnr, navn, adresse, fodselsar, tlf, email FROM medlemmer WHERE
status='1'"

$qr mysql_query$q ) or die( mysql_error() ); 


// Ok now we are going to send some headers so that this 
// thing that we are going make comes out of browser 
// as an xls file. 
// 
header("Pragma: public"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download"); 
header("Content-Type: application/octet-stream"); 
header("Content-Type: application/download"); 

//this line is important its makes the file name 
header("Content-Disposition: attachment;filename=medlemmer_$dato.xls "); 

header("Content-Transfer-Encoding: binary "); 

// start the file 
xlsBOF(); 

// these will be used for keeping things in order. 
$col 0
$row 0

// This tells us that we are on the first row 
$first true

while( 
$qrow mysql_fetch_assoc$qr ) ) 

// Ok we are on the first row 
// lets make some headers of sorts 
if( $first 

foreach( 
$qrow as $k => $v 

// take the key and make label 
// make it uppper case and replace _ with ' ' 
xlsWriteLabel$row$colstrtoupperereg_replace"_" " " $k ) ) ); 
$col++; 


// prepare for the first real data row 
$col 0
$row++; 
$first false


// go through the data 
foreach( $qrow as $k => $v 

// write it out 
xlsWriteLabel$row$col$v ); 
$col++; 

// reset col and goto next row 
$col 0
$row++; 


xlsEOF(); 
exit(); 
?>


Min umiddelbare frste tanke var, at tilfje en header("Content-type: text/html;
charset=UTF-8"). Men det virker ikke. 

Hber der er nogen som gider hjlpe. 

Venlig hilsen 
Kasper Bisgaard



Dato : 05.05.2010, 14:12

Visninger : 2549

Points : 50




Login for at skrive et indlg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund