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.
veritabanından excele otomatik kayıt çekme.
6
●132
- 28-03-2020, 11:29:45Üyeliği durdurulduNo records found hatası alıyorum.Eagle05 adlı üyeden alıntı: mesajı görüntüle
- 28-03-2020, 11:32:44Excel 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:58:45Üyeliği durdurulduTheKhan adlı üyeden alıntı: mesajı görüntüleEagle05 adlı üyeden alıntı: mesajı görüntüle
Ş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:38Yaklaşı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'); } } ?>