Nasıl benim PHP sitede bir Excel dosyasına MySQL aktarırım?

4 Cevap php

Ben bir veri tablosunu görüntüleme ediyorum:

[Name] [Tel] [Email]    [checkbox]
Name 1  000  1@name.com
Name 2  000  2@name.com (checked)
Name 3  000  3@name.com (checked)

(İNDİRMEK İÇİN BUTONU XLS kontrol)

Ne ben burada elde etmek için çalışıyorum kullanıcının tüm bir XLS dosyası girdileri kontrol indirmek için izin verir, bu düğme oluşturmak için?

4 Cevap

Bir CSV dosyası yapacağız (açılabilir / Excel kaydedilen / düzenlenebilir) Eğer böyle bir şey kullanabilirsiniz:

foreach ($thing as $val) {
    if($val['checked']) {
        $csv_output .= "\"" . $val['name'] . "\",\"" . $val['tel'] . "\",\"" . $val['email'] . "\"\n";
    }
}
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: filename=" . $filename . "-" . date("Y-m-d") . ".csv");
print $csv_output;die;

$ Csv_output CSV formatında biçimlendirilmiş bir dize olduğu.

Eğer dosyayı kaydetmek istiyorsanız PHP işlevini kullanabilirsiniz fputcsv

Sadece bir ders çözümün parçası, ancak PHP modülü Spreadsheet Excel Writer çıkışına bir Excel size sağlayacaktır.

Normal bir HTML sayfası çıktısı benim için iyi çalıştı. Excel CSS dahil biçimlendirmeyi yorumlar. Ve kod okunabilir kalır.

<?php

$countries = Array(
    Array('name' => 'France', 'capital' => 'Paris'),
    Array('name' => 'Germany', 'capital' => 'Berlin'),
    Array('name' => 'Switzerland', 'capital' => 'Berne'),
);

// make the browser open it in Excel
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: filename=countries.xls");

?>
<html>
    <head>
        <style type="text/css">
td {
    border: 1px solid blue
}
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Country</th>
                <th>Capital</th>
            </tr>
            <? foreach ($countries as $country): ?>
                <tr>
                    <td><?=$country['name'] ?></td>
                    <td><?=$country['capital'] ?></td>
                </tr>
            <? endforeach; ?>
        </table>
    </body>
</html>

Orada PHPExcel, PHP Excel dosyaları yazma için iyi bir kütüphane.