php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
PHPExcel liest XLSX Datei, aber ohne Inhalt


 
MIRR_DE
27-01-2016, 14:51 
 
Hallo zusammen,

ich habe folgendes Problem:
Ich würde gerne eine XLSX-Datei mittels phpexcel einlesen (und anschließend als Semikolon-getrennte CSV wieder abspeichern - aber soweit komme ich ja noch gar nicht).
Ich bekomme auch keine Fehlermeldung, und die Datei wird anscheinend eingelesen, aber es wird der Inhalt leider nicht erkannt.

Wenn ich mittels folgendem Code prüfe
<?
/** SCRIPT SETTINGS */
error_reporting(E_ALL);

/** PHPExcel */
require_once 'Classes/PHPExcel.php'; // (this should include the autoloader)
require_once 'Classes/PHPExcel/IOFactory.php';


$inputFileName = 'test_en.xlsx';

$objReader = PHPExcel_IOFactory::createReader('Excel2007');

$worksheetData = $objReader->listWorksheetInfo($inputFileName);

echo '<h3>Worksheet Information</h3>';
echo '<ol>';
foreach ($worksheetData as $worksheet) {
echo '<li>', $worksheet['worksheetName'], '<br />';
echo 'Rows: ', $worksheet['totalRows'],
' Columns: ', $worksheet['totalColumns'], '<br />';
echo 'Cell Range: A1:',
$worksheet['lastColumnLetter'], $worksheet['totalRows'];
echo '</li>';
}
echo '</ol>';

?>

erhalte ich folgende Ausgabe:
<h3>Worksheet Information</h3><ol><li>StockList<br />Rows: 0 Columns: 0<br />Cell Range: A1:@0</li></ol>

Das Excel File ist in der ZIP-Datei anhängen.

Ich komme nicht weiter. Kann mir hier wer helfen?

Vielen Dank schon mal.

Gruß,
Manuel

 
ArneDrews
27-01-2016, 15:48 
 
Hallo,

Probier mal den ErrorReport bis zum Anschlag aufzudrehen:

error_reporting ( -1 );
ini_set ( 'display_errors', true );

Vielleicht kommt ja ne kleine Warnung, die einen weiterführt.
Zum Testen würde ich ansonsten erst heute Abend kommen.

Gruß Arne

 
MIRR_DE
27-01-2016, 16:00 
 
Hallo Arne,

da kommt schon mal mehr. ;-)


Notice: Undefined index: R685706047ccc4e6b in /var/www/vhosts/werbeartikel-welt.com/httpdocs/Classes/PHPExcel/Reader/Excel2007.php on line 200

Warning: file_get_contents(zip:///var/www/vhosts/werbeartikel-welt.com/httpdocs/test_en.xlsx#/xl/): failed to open stream: operation failed in /var/www/vhosts/werbeartikel-welt.com/httpdocs/Classes/PHPExcel/Reader/Abstract.php on line 287

Warning: XMLReader::XML(): Empty string supplied as input in /var/www/vhosts/werbeartikel-welt.com/httpdocs/Classes/PHPExcel/Reader/Excel2007.php on line 203

Warning: XMLReader::setParserProperty(): Invalid parser property in /var/www/vhosts/werbeartikel-welt.com/httpdocs/Classes/PHPExcel/Reader/Excel2007.php on line 204

Warning: XMLReader::read(): Load Data before trying to read in /var/www/vhosts/werbeartikel-welt.com/httpdocs/Classes/PHPExcel/Reader/Excel2007.php on line 207

Ich verstehe, dass die Datei nicht geöffnet werden kann, allerdings verstehe ich nicht warum...
Hab die Rechte sowohl von der PHP Datei, als auch der XLSX extra auch noch auf 777 gesetzt...

Kannst du mir hier weiter helfen?

Gruß, Manuel

 
ArneDrews
27-01-2016, 16:06 
 
Ein Verzweifelungstipp geht in Richtung PHP Version, welche hast Du?
Ich schau mir das sonst gern mal an heute Abend irgendwann.

Kann aber später werden.
;-)

 
MIRR_DE
27-01-2016, 16:13 
 
Das ist die vollständige Version, die's mir ausspuckt:
PHP Version 5.6.15-1+deb.sury.org~trusty+1

Wenns später wird ist das überhaupt kein Problem. ;-)

 
ArneDrews
27-01-2016, 16:15 
 
Nooooa... Die sollte aktuell sein... :)
Ja dann bis später, falls hier keiner vorher ne Antwort hat.

 
wahsaga
27-01-2016, 16:32 
 
Warning: file_get_contents(zip:///var/www/vhosts/werbeartikel-welt.com/httpdocs/test_en.xlsx#/xl/): failed to open stream: operation failed in
Die Pfadangabe sieht komisch aus – was bitte macht denn das #/xl/ hinter dem Dateinamen dort …?

 
MIRR_DE
27-01-2016, 16:34 
 
Das hab ich mir auch schon gedacht, aber da hab ich ehrlich gesagt keine Ahnung.
Die kommt ja nicht von mir. Dachte das ist irgendwas, was phpexcel intern übergibt.

Meine ist ja "nur":
$inputFileName = 'test_en.xlsx';

 
ArneDrews
27-01-2016, 16:49 
 
Ich arbeite selten mit PHP-Excel, deshalb nur ne Vermutung, aber ist das aus einer ZIP heraus oder woher kommt das Prefix?
Wenn ZIP, dann vielleicht mal zuvor entpacken?

 
MIRR_DE
27-01-2016, 19:22 
 
Nein, das mit ZIP müsste passen. Zumindest beschreibt phpexcel die XLSX Dateien als "gezippte" Dateien. Wusste ich bis dahin auch nicht...

You need the PHP zip extension enabled in your PHP: this is a prerequisite for handling zipped files such as .xlsx

 
h3ll
27-01-2016, 20:28 
 
Scheint so, als würde etwas mit der Excel-Datei nicht stimmen. Wenn ich die Excel-Datei in Excel öffne und dann sofort wieder speichere, funktionert ist.

Wie wurde die Datei erzeugt?

Ausgabe:Worksheet Information

StockList
Rows: 4017 Columns: 8
Cell Range: A1:H4017

 
MIRR_DE
27-01-2016, 20:36 
 
Ich glaubs ja gleich...
Bei mir auch.

Das hatte ich noch nicht mal ausprobiert, da die Datei ja immer anstandslos in Excel geöffnet werden konnte.

Die Datei kommt direkt von nem Lieferanten, da weiß ich leider nicht wie die erzeugt wurde.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:20 Uhr.