Da es schwierig ist, mit verschiedenen Standards unter den verschiedenen Browsern umzugehen, gebe ich es auf, HTML-Tabelle mit js oder jQuery zu exportieren. Ich frage mich, ob ich die Tabelle in HTML zurück an den Server senden und eine .xls-Datei auf dem Server für den Benutzer zum Download generieren kann.Wie exportiere ich HTML-Tabelle mit PHPExcel?
nun auf der Seite Server mit PHPExcel, mein Code wie folgt aus:
$filename = "DownloadReport";
$table = $_POST['table'];
ini_set('zlib.output_compression','Off');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
//the folowing two lines make sure it is saved as a xls file
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename='.$filename);
$objReader = PHPExcel_IOFactory::createReader('HTML');
$objPHPExcel = $objReader->load($table);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
Das Problem ist, ich nicht HTML-Tabelle direkt laden kann. Wie kann ich damit umgehen?
Und eine weitere Frage ist, dass, während ich die Header in PHP, die Datei nicht herunterladen, wenn ich auf die Schaltfläche klicke. Eigentlich kann ich alle Attribute von Header der POST-Antwort und auch den Inhalt der Antwort (in FireBug) anzeigen, die alle korrekt sind.
Geringfügig im Zusammenhang mit Datei den Inhalt verwendet werden lesen müssen - man könnte wahrscheinlich erstellt den Export in JS mit http://excelbuilderjs.com/. – Stephen
$ table in eine temporäre Datei speichern und dann aus dieser Datei laden –
http://stackoverflow.com/questions/23562380/phipexcel-create-spreadsheet-from-html-table – Aba