Merhaba

PHPExcel kütüphanesini kullanmanızı öneririm;

https://github.com/PHPOffice/PHPExcel

Sunucuya sayfanın çalıştığı klasöre

PHPExcel klasörü ve PHPExcel.php dosyasını atmanız yeterli olacaktır.

Sayfanız için çalışan bir örnekte yazıyorum.

sayfaniz-com/ss.php?excel ~ dediğinizde sunucuya .xls dosyası kayıt etmesini sağlayabilirsiniz
sayfaniz-com/ss.php?excel&output ~ diyerek xls dosyasının download edilmesini sağlayabilirsiniz

Dizin örneği;


<?php
if (isset($_REQUEST['excel'])) {
    include_once 'PHPexcel.php';
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()
        ->setTitle('title')
        ->setDescription('description');

    $alphabet = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H');

    foreach ($alphabet as $k) {
        $objPHPExcel->getActiveSheet()->getColumnDimension($k)->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getStyle($k . '1')->applyFromArray(array('font' => array('bold' => true)));
    }

    $objPHPExcel->setActiveSheetIndex(0);

    $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Tarih');
    $objPHPExcel->getActiveSheet()->setCellValue('B1', 'Adı Soyadı');
    $objPHPExcel->getActiveSheet()->setCellValue('C1', 'Telefon');
    $objPHPExcel->getActiveSheet()->setCellValue('D1', 'Adres');
    $objPHPExcel->getActiveSheet()->setCellValue('E1', 'İl');
    $objPHPExcel->getActiveSheet()->setCellValue('F1', 'İlçe');
    $objPHPExcel->getActiveSheet()->setCellValue('G1', 'Ürün');
    $objPHPExcel->getActiveSheet()->setCellValue('H1', 'Ödeme Tipi');


    $sql= $dbconn->query('SELECT * FROM siparisler WHERE durum1 = 2 ORDER BY sip_no');

    $row = 2;
    while ($oku = $sql->fetch(PDO::FETCH_ASSOC)) {
        foreach ($oku as $key => $value) {
            $objPHPExcel->getActiveSheet()->setCellValue($alphabet[$key] . $i, $value);
        }
        $row++;
    }


    $filename = 'siparisler-' . date('d-m-y') . '-' . date('H.i.s') . '.xls';

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    if (isset($_REQUEST['output'])) {
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="' . $filename . '"');
        header('Cache-Control: max-age=0');
        header('Cache-Control: max-age=1');
        header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
        header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
        header('Cache-Control: cache, must-revalidate');
        header('Pragma: public');

        $objWriter->save('php://output');
    } else {
        header('Content-type: application/json');
        $objWriter->save($filename);
        exit(json_encode(array('status' => 'OK', 'file' => $filename)));
    }
}
?>




G3da adlı üyeden alıntı: mesajı görüntüle
Merhaba

PHPExcel kütüphanesini kullanmanızı öneririm;

https://github.com/PHPOffice/PHPExcel

Sunucuya sayfanın çalıştığı klasöre

PHPExcel klasörü ve PHPExcel.php dosyasını atmanız yeterli olacaktır.

Sayfanız için çalışan bir örnekte yazıyorum.

sayfaniz-com/ss.php?excel ~ dediğinizde sunucuya .xls dosyası kayıt etmesini sağlayabilirsiniz
sayfaniz-com/ss.php?excel&output ~ diyerek xls dosyasının download edilmesini sağlayabilirsiniz

Dizin örneği;


<?php
if (isset($_REQUEST['excel'])) {
    include_once 'PHPexcel.php';
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()
        ->setTitle('title')
        ->setDescription('description');

    $alphabet = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H');

    foreach ($alphabet as $k) {
        $objPHPExcel->getActiveSheet()->getColumnDimension($k)->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getStyle($k . '1')->applyFromArray(array('font' => array('bold' => true)));
    }

    $objPHPExcel->setActiveSheetIndex(0);

    $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Tarih');
    $objPHPExcel->getActiveSheet()->setCellValue('B1', 'Adı Soyadı');
    $objPHPExcel->getActiveSheet()->setCellValue('C1', 'Telefon');
    $objPHPExcel->getActiveSheet()->setCellValue('D1', 'Adres');
    $objPHPExcel->getActiveSheet()->setCellValue('E1', 'İl');
    $objPHPExcel->getActiveSheet()->setCellValue('F1', 'İlçe');
    $objPHPExcel->getActiveSheet()->setCellValue('G1', 'Ürün');
    $objPHPExcel->getActiveSheet()->setCellValue('H1', 'Ödeme Tipi');


    $sql= $dbconn->query('SELECT * FROM siparisler WHERE durum1 = 2 ORDER BY sip_no');

    $row = 2;
    while ($oku = $sql->fetch(PDO::FETCH_ASSOC)) {
        foreach ($oku as $key => $value) {
            $objPHPExcel->getActiveSheet()->setCellValue($alphabet[$key] . $i, $value);
        }
        $row++;
    }


    $filename = 'siparisler-' . date('d-m-y') . '-' . date('H.i.s') . '.xls';

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    if (isset($_REQUEST['output'])) {
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="' . $filename . '"');
        header('Cache-Control: max-age=0');
        header('Cache-Control: max-age=1');
        header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
        header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
        header('Cache-Control: cache, must-revalidate');
        header('Pragma: public');

        $objWriter->save('php://output');
    } else {
        header('Content-type: application/json');
        $objWriter->save($filename);
        exit(json_encode(array('status' => 'OK', 'file' => $filename)));
    }
}
?>
En üste;

<?php
include("baglanti.php");
include("class.phpmailer.php");
date_default_timezone_set('Europe/Istanbul');
// üstteki satırları yolladığım örneğe dahil edebilirsiniz ve if ($_REQUEST['excel']).. koşulunu iptal ederseniz, sayfayı aktif olarak kullanırsınız.
// Sizin örneğiniz direk excel download ettirdiğini şimdi fark ettim.
// PHP Excel ile bu daha sağlıklı olacaktır, xlsx olarakta kayıt ettirmeniz mümkün farklı bir fonksiyonu ile.