2011-12-22 144 views
1

你好我正在使用joomla,我正嘗試創建一個選項,用戶將能夠下載當前提供的表格的csv或excel文件。將文件添加到joomla

我想使用PHPExcel創建文件。 我已經創建了一個export.php文件:

{ 
    $objXLS = new PHPExcel(); 

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"); 
header("Content-Type: application/download");; 
header("Content-Disposition: attachment;filename=File.xls"); 
header("Content-Transfer-Encoding: binary "); 


    $objSheet = $objXLS->setActiveSheetIndex(0); 
    //$objSheet->setCellValue(cell, value); 
    $objSheet->setCellValue('A1', '1'); 
    $objSheet->setCellValue('A2', '2'); 
    $objSheet->setCellValue('A3', '3'); 
    $objSheet->setCellValue('A4', '4'); 
    $objSheet->setCellValue('A5', '5'); 


    $objSheet->setCellValue('B5', date('H:i:s')); 

    $objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true); 
    $objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true); 

    $objXLS->getActiveSheet()->setTitle('Test Stats'); 

    $objXLS->setActiveSheetIndex(0); 


    $objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5'); 
    //$objWriter->save('php://output'); 
    exit; 

} 
} 

文件中獲取表的信息,將其插入到一個Excel工作表,並輸出到下載,但我不能夠訪問此文件,因爲在Joomla限制。

當我嘗試向我的模型輸入代碼並將其稱爲出來的文件是整個頁面或該文件作爲垃圾打印在網站頁面中。

grante如何訪問此文件,以便我可以在新選項卡中打開它。 或者是否有一種更簡單的方式將此信息導出到Excel文件或使用AJAX或JQuery的csv?

謝謝

+0

所以,即使有直接鏈接,你不能訪問該文件? – 2011-12-22 15:38:18

+0

我可以在我的本地主機上,但不能在服務器上joomla阻止它 – 2011-12-24 20:33:58

回答

1

您的問題,最有可能的是,Joomla的框架將輸出它不需要這種特殊情況下,一些額外的HTML;我認爲你要做的和this question中的要求非常相似。要點是您必須在您的控制器中創建您自己的操作,並在您的URL中使用和額外的format=raw參數。