Miért csak az utolsó sort írja be az excel táblába?
Van egy adatbázisom, amiből az összes értékét egy excel táblázatba szeretném tölteni, és így egybe letölteni. Elkezdtem nézegetni a neten, mit hogy kell. Jutottam is valamira, csak az a baj ütközött ki, hogy mindig csak az utolsó értékét tölti fel az excelbe. Pl ha van 5 sorom az adatbázisba, akkor csak az utolsó, 5. fog szerepelni az excelben.
Forráskód:
<?php
include("adatbazis/adatbazis.php");
$query = mysqli_query($db_connect,"SELECT * FROM ertekek");
require_once 'Classes/PHPExcel.php';
$i = 1;
while($adat = mysqli_fetch_assoc($query)){
$A_cella = "A".$i;
$B_cella = "B".$i;
$esemeny = $adat["esemeny"];
$kimenetel = $adat["kimenetel"];
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setCellValue($A_cella, $esemeny);
$objPHPExcel->getActiveSheet()->setCellValue($B_cella, $kimenetel);
$objPHPExcel->getActiveSheet()->setTitle('download');
$i++;
}
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="download.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
?>
Próbáld kiíratni valahova a $i értékét, hogy valóban végigpörög-e a sorszámokon.
(Nem vagyok otthon php-ban, de a lekérdezés után egy MoveFirst, vagy ilyesmi hátha kell a $query-nek.)
"$objPHPExcel = new PHPExcel(); "
Ez az utasítás új excel munkafüzetet hoz létre, tehát a ciklusba rakni nem túl jó ötlet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!