2016-05-27 17 views
2

Guten Tag!Falscher Druck in PHPexcel große Daten von oci_fetch_array

Bitte, ich brauche Hilfe mit meinem Code. Ich habe eine Abfrage, die eine große Menge von Daten liest und es mit oci_fetch_array druckt, aber ich muss es in eine Excel-Tabelle exportieren.

Ich verwende den Code für PHPExcel 01simple-Download-xls und füllen Sie die Daten:

$result = oci_parse($connect, $query); 

oci_execute($result); 

while (($row = oci_fetch_array($result, OCI_BOTH)) != false){ 
$columna = 0; 


     foreach ($row as $key => $valor) { 

      $objPHPExcel->getActiveSheet()->setCellValue('A' . $columna, $valor); 


      $columna++; 

     } 


} 

oci_free_statement($result); 
oci_close($connect); 

Aber die Tabelle zeigt nur die ersten Daten meiner bd, und ich brauche alles.

enter image description here

und die Daten werden wie folgt aus:
enter image description here

Wie kann ich die Datenzeile in den Spalten gedruckt werden?

Danke!

+0

Es ist okay. ich werde es nur Korrektur lesen, Community Edits sind ein Ding hier. Stört es dich, wenn ich das Bit am Ende über dein Englisch entferne? –

Antwort

3

Eine MS Excel-Zelladresse umfasst eine Spalten-ID und eine Zeilen-ID. Spalten-IDs sind Buchstaben (A, B, C usw.); Zeilen-IDs sind Nummern (1, 2, 3, usw.): also eine Zellenadresse wie B3 ist Spalte B und Zeile 3. (Wie Sie in Ihrem Bild zu sehen)

Sie verwenden eine Variable $columna, es mit A verketten eine Zelle Adresse wie A1 zu definieren und für jedes Element erhöht wird, so dass Ihre Zellenadressen sind A1, A2 , A3 usw. ... immer Spalte A. So werden alle Ihre Daten in dieser ersten Spalte sein. (Sie fangen auch mit Reihen 0, die es nicht gibt

Ihren Code ändern, sowohl für die Arbeit mit Zeile und Spalte, selbst geben eine Zelle Adresse:.

$rowNumber = 1; 
while (($row = oci_fetch_array($result, OCI_BOTH)) != false){ 
    $columna = 'A'; 
    foreach ($row as $key => $valor) { 
     $objPHPExcel->getActiveSheet()->setCellValue($columna . $rowNumber, $valor); 
     $columna++; 
    } 
    $rowNumber++; 
} 

beginnen mit Zeile 1, Zeile nicht 0 Reset-Spalte nach jedem $ row

Es gibt einfachere Wege, dies zu tun, aber wenn Sie das Konzept der Zelladressen erfassen können, werden Sie Schwierigkeiten haben, mit Excel-Dateien arbeiten

+0

ist keine Arbeit mir Fehler Hinweis: Array zu String-Konvertierung in /var/www/html/consultaprocesado/PHPExcel_1.8.0_doc/Examples/01simple-download-xls.php auf Zeile 148 Fataler Fehler: ... –

+0

Lassen Sie mich rate mal, was Zeile 148 ist ... nein, ich kann nicht raten, ich kann deinen Code nicht sehen, ich habe keine Ahnung, welche Zeile 148 ist ..... wenn du Hilfe brauchst, musst du geben uns die gelegentliche Hinweis, anstatt einfach zu sagen, es funktioniert nicht –

+0

Sorry für das ich versuche, den ganzen Code, aber in kann nicht tnks für die Hilfe –