Farklı tarayıcılar arasında farklı standartlarla uğraşmak zor olduğundan, js veya jQuery kullanarak html tablosunu dışa aktarmaya çalışmaktan vazgeçtim. Ben html tabloyu sunucuya geri POST ve kullanıcı indirmek için sunucu üzerinde bir .xls dosyası üretmek olabilir merak ediyorum.PHPExcel kullanarak excel'e html tablosu nasıl verilir?
Şimdi PHPExcel kullanarak sunucu tarafında, benim kod şu şekildedir:
$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;
Sorun doğrudan html tablo yükleyemiyor olduğunu. Bununla nasıl baş edebilirim?
Ve bir soru daha, başlıkları php olarak ayarladığımda, düğmeyi tıkladığımda dosya indirilmemesi. Aslında POST cevabının Üstbilgisi'nin tüm özelliklerini ve aynı zamanda yanıtın (FireBug'da) içeriğini de doğru olarak görebiliyorum.
Marjinal ilgili dosyaya çıkış içeriği kullanılacaktır - muhtemelen olabilir http://excelbuilderjs.com/ adresinden JS'deki ihracatı oluşturdu. – Stephen
$ tabloyu geçici bir dosyaya kaydedin, ardından o dosyadan yükleyin –
http://stackoverflow.com/questions/23562380/phpexcel-create-spreadsheet-from-html-table – Aba