• 28-03-2020, 11:06:09
    #1
    Üyeliği durduruldu
    Arkadaşlar localhostta calıstıgım içinmi hata alıyorum acaba? php ile mysql veritabanından excele aktarmak istiyorum
    Veritabanında "data" tablosunda 6 adet veri var, bunları tek tıkla excele çekmek istiyorum ama başaramadım.
    örnek yollar misiniz? basit bi proje olduğu için fonksiyon yada full classa ihtiyacım yok, tek tıkla indirebileyim yeter düzenli şekilde.
    bir kaç kaynak denedim ama olumsuz.
  • 28-03-2020, 11:10:22
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba
    Class falan ihtiyacım yok demişsiniz ama böylesi daha kolay sizin için phppot
  • 28-03-2020, 11:29:45
    #3
    Üyeliği durduruldu
    Eagle05 adlı üyeden alıntı: mesajı görüntüle
    Merhaba
    Class falan ihtiyacım yok demişsiniz ama böylesi daha kolay sizin için phppot
    No records found hatası alıyorum.
  • 28-03-2020, 11:32:44
    #4
    Excel sıkıntılı bir program olduğu için kütüphane kullanmanız daha uygun olacaktır. PHPSpreadsheet adındaki kütüphaneyi daha önce kullanmıştım. Kullanımı kolay diyebilirim:
    require 'vendor/autoload.php';
    
    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
    
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setCellValue('A1', 'Hello World !');
    
    $writer = new Xlsx($spreadsheet);
    $writer->save('hello world.xlsx');
    mysql tarafından verileri aldıktan sonra döngüye almanız gerekecek. Türkçe karakter vb sorunlar ile uğraşmak zorunda kalmazsınız
  • 28-03-2020, 11:38:33
    #5
    Bunun için kod bilgisine bile ihtiyacınız yok. Excelin veri sekmesi altında diğer kaynaklar içerisinden sql server ı seçip geri kalan bilgi girişlerini halledersiniz.
  • 28-03-2020, 11:58:45
    #6
    Üyeliği durduruldu
    TheKhan adlı üyeden alıntı: mesajı görüntüle
    Excel sıkıntılı bir program olduğu için kütüphane kullanmanız daha uygun olacaktır. PHPSpreadsheet adındaki kütüphaneyi daha önce kullanmıştım. Kullanımı kolay diyebilirim:
    require 'vendor/autoload.php';
    
    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
    
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setCellValue('A1', 'Hello World !');
    
    $writer = new Xlsx($spreadsheet);
    $writer->save('hello world.xlsx');
    mysql tarafından verileri aldıktan sonra döngüye almanız gerekecek. Türkçe karakter vb sorunlar ile uğraşmak zorunda kalmazsınız
    Eagle05 adlı üyeden alıntı: mesajı görüntüle
    Merhaba
    Class falan ihtiyacım yok demişsiniz ama böylesi daha kolay sizin için phppot


    Şu şekilde çekiyorum fakat türkçe karakter hatas ıvar, pcye indirdikten sonra.
    Ayrıca tablıoları düzene sokamaz miyim?
    http://prntscr.com/ro9ecc
    <?php
    //export.php
    $connect = mysqli_connect("localhost", "root", "", "admin");
    $connect->set_charset("utf8");
    $output = '';
    if(isset($_POST["export"]))
    {
    $query = "SELECT * FROM data";
    $result = mysqli_query($connect, $query);
    if(mysqli_num_rows($result) > 0)
    {
    $output .= '
    <table class="table" bordered="1">
    <tr>
    <th width="35%">#</th>
    <th width="35%">Ad Soyad</th>
    <th width="20%">Telefon Numarası</th>
    <th width="25%">Yaş</th>
    <th width="20%">Meslek</th>
    <th width="20%">İl</th>
    <th width="20%">İp Adresi</th>
    </tr>
    ';
    while($row = mysqli_fetch_array($result))
    {
    $output .= '
    <tr>
    <td>'.$row["id"].'</td>
    <td>'.$row["adsoyad"].'</td>
    <td>'.$row["tel"].'</td>
    <td>'.$row["yas"].'</td>
    <td>'.$row["meslek"].'</td>
    <td>'.$row["il"].'</td>
    <td>'.$row["ipAdress"].'</td>
    </tr>
    ';
    }
    $output .= '</table>';
    header('Content-Type: application/xls');
    header('Content-Disposition: attachment; filename=download.xls');
    echo $output;
    }
    }
    ?>
  • 28-03-2020, 12:11:38
    #7
    Yaklaşık böyle birşey olması gerekiyor..
    <?php
    //export.php
    require 'vendor/autoload.php';
    
    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
    
    $connect = mysqli_connect("localhost", "root", "", "admin");
    $connect->set_charset("utf8");
    $output = '';
    if(isset($_POST["export"]))
    {
    $query = "SELECT * FROM data";
    $result = mysqli_query($connect, $query);
    if(mysqli_num_rows($result) > 0)
    {
    
    
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setCellValue('A1', 'Ad Soyad');
    $sheet->setCellValue('B1', 'Telefon Numarası');
    $sheet->setCellValue('C1', 'Yaş');
    $sheet->setCellValue('D1', 'Meslek');
    $sheet->setCellValue('E1', 'İl');
    $sheet->setCellValue('F1', 'İp Adresi');
    $counter = 1;
    while($row = mysqli_fetch_array($result))
    {
    $counter ++;
    $sheet->setCellValue('A'.$counter, $row["adsoyad"]);
    $sheet->setCellValue('B'.$counter, $row["tel"]);
    $sheet->setCellValue('C'.$counter, $row["yas"]);
    $sheet->setCellValue('D'.$counter, $row["meslek"]);
    $sheet->setCellValue('E'.$counter, $row["il"]);
    $sheet->setCellValue('F'.$counter, $row["ipAdress"]);
    }
    $writer = new Xlsx($spreadsheet);
    $writer->save('hello world.xlsx');
    }
    }
    ?>