Phpexcel sınıfını kullanarak veritabanından excel çıktısı alıyorum.
Ancak bir noktada takıldım. Ürünler ve Resimler adında 2 adet tablom var.
Ürünler listeleyip excele aktarıyorum ancak resimler tablomdaki bilgileri aynı satırda farklı stunlarda nasıl aktarabileceğimi yapamadım.
Şuan ki yapım şöyle.
Ürün ID - Urun Kodu - Urun Adı - Açıklama - Urun Fiyatı
Olmasını istediğim ise Resimler tablosundaki bilgilerin buraya dahil Olması.
Resim URL - Resim 2 - Resim 3 - Resim 4 - Resim 5
Şeklinde.
Kullandığım kod bu şekilde
require_once 'PHPExcel/Classes/PHPExcel.php';
$excel = new PHPExcel();
$excel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("PHPExcel Test Document")
->setSubject("PHPExcel Test Document")
->setDescription("Test document for PHPExcel, generated using PHP classes.")
->setKeywords("office PHPExcel php")
->setCategory("Test result file");
$excel->getActiveSheet()->setTitle('Urunler');
$excel->getActiveSheet()->setCellValue('A1','Urun ID');
$excel->getActiveSheet()->setCellValue('B1','Urun Kodu');
$excel->getActiveSheet()->setCellValue('C1','Urun Adı');
$excel->getActiveSheet()->setCellValue('D1','Acıklama');
$excel->getActiveSheet()->setCellValue('E1','Urun Fiyat');
$arttir = 2;
$getir = $db->query("select * from urunler")->fetchAll(PDO::FETCH_ASSOC);
foreach($getir as $row){
extract($row);
$excel->getActiveSheet()->setCellValue('A'. $arttir, $urun_id);
$excel->getActiveSheet()->setCellValue('B'. $arttir, $urun_kodu);
$excel->getActiveSheet()->setCellValue('C'. $arttir, $urun_adi);
$excel->getActiveSheet()->setCellValue('D'. $arttir, $aciklama);
$excel->getActiveSheet()->setCellValue('E'. $arttir, $pfiyati);
$arttir++;
}
// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Urunler.xlsx"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$kaydet = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$kaydet->save('php://output');