Export από mysql σε αρχείο xls

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
cn92
Δημοσιεύσεις: 232
Εγγραφή: 25 Ιαν 2008 19:00
Τοποθεσία: Γλυφαδα
Επικοινωνία:

Export από mysql σε αρχείο xls

Δημοσίευση από cn92 » 19 Δεκ 2011 20:34

Καλησπέρα,

Έχω φτιάξει ένα script που τραβάει κάποια δεδομένα από έναν πίνακα μιας mysql βάσης (utf8_general_ci), και τα αποθηκεύει σε ένα αρχείο xls που δημιουργεί για να τα κατεβάσει ο χρήστης.

Ενώ σε pages (το "excell" της apple) και σε notepad, βλέπω κανονικά τα ελληνικά, στο excell έχω πρόβλημα με το encoding και τα ελληνικά τα δείχνει λάθος.

Κώδικας: Επιλογή όλων

foreach ($data as $p) {
            $contents .= $p['data1']." \t ".$p['data2']." \t ".$p['data3']." \t ".$p['data4']." \t ".$p['data5']." \t \n";
        }
        $filename ="exportfilename.xls";
        
        header('Content-type: application/ms-excel;  charset=utf-8;');
        header('Content-Disposition: attachment; filename='.$filename);
        echo $contents;

έχω δοκιμάσει και το παρακάτω αλλά πάλι δεν διορθώθηκε το πρόβλημα.

Κώδικας: Επιλογή όλων

foreach ($data as $p) {
            $contents .= $p['data1']." \t ".$p['data2']." \t ".$p['data3']." \t ".$p['data4']." \t ".$p['data5']." \t \n";
        }
        $filename ="exportfilename.xls";
        
        header('Content-type: application/ms-excel;  charset=utf-8; encoding=utf-8;');
        header('Content-Disposition: attachment; filename='.$filename);
        echo $contents;

πως το διοθώνω;

* Χρησημοποιώ CodeIgniter

Καλές Γιορτές!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Export από mysql σε αρχείο xls

Δημοσίευση από fafos » 19 Δεκ 2011 22:26

dokimase me binary:

Κώδικας: Επιλογή όλων

header("Content-Transfer-Encoding: binary ");
an epimenei (afhneis ton header me binary) kane convert kathe metavlhth pou exei ellhnikous xarakthres me thn iconv.. p.x.:

Κώδικας: Επιλογή όλων

$p['data1'] = iconv('utf-8','greek',$p['data1']);
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
cn92
Δημοσιεύσεις: 232
Εγγραφή: 25 Ιαν 2008 19:00
Τοποθεσία: Γλυφαδα
Επικοινωνία:

Export από mysql σε αρχείο xls

Δημοσίευση από cn92 » 20 Δεκ 2011 20:07

Χίλια thanks! Φαίνεται να παίζει σωστά τώρα!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες