你好我正在使用joomla,我正在尝试创建一个用户可以下载当前显示的表的csv或excel文件的选项。
我正在尝试使用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限制,我无法访问此文件。
当我尝试将代码输入到我的模型并调用它时,出来的文件是整个页面,或者文件在网站页面中打印为垃圾。
如何格式化访问此文件,以便我可以在新选项卡中打开它。 或者是否有更简单的方法使用AJAX或Jquery将此信息导出到excel文件或csv?
谢谢
答案 0 :(得分:1)
你的问题很可能是Joomla框架会输出一些额外的HTML,这个特殊情况不需要;我认为你要做的事情与this question中的问题非常相似。要点是,您必须在控制器中创建自己的操作,并在网址中使用其他format=raw
参数。
答案 1 :(得分:1)
看一下这个链接。他们完全按照您的要求PHPExcel & Joomla