PHP / Javascript生成和自动下载excel文件

时间:2017-05-14 10:47:34

标签: javascript php excel wordpress

大家好,所以有很多这方面的话题,但他们都是4-5岁,使用的PHPExcel现在已经2年没有更新了,它的状态是"失败"。我需要这个作为wordpress插件的一部分。 也有可能只使用javascript,但我也没有运气。我发现一些能够创建xls文件,但他们不支持插入图像。

我需要做什么:

  • 可以是任何可通过Excel打开的格式,看起来像excel
  • 将图像放入类似excel的文件中(必须包含在文件中)
  • 从数据库中获取数据并将其放入
  • 需要插入到文档中的数据可能会有所不同,因此它们不能完全表示为一个表

这一切都发生在用户按下某个按钮并下载时。现在我知道如何创建按钮来触发执行此操作的AJAX并获取我的数据,但我不知道当前可用于哪个库。

更新: 所以我尝试了PHPExcel,这段代码但没有运气 所以,我添加了小动作试用PHPExcel但我没有运气...下载的文件已损坏,我几乎感觉文件实际上不包含来自$ objPHPExcel的任何数据

add_action( 'plugins_loaded', function() {
    if ( isset( $_GET['download'] ) ) {
            require_once 'Classes/PHPExcel.php';
            $objPHPExcel = new PHPExcel();
            $objPHPExcel->getActiveSheet()->setCellValue('A1', 'hello world!');
            $objPHPExcel->getActiveSheet()->setTitle('Chesse1');
            header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
            header('Content-Disposition: attachment;filename="helloworld.xlsx"');
            header('Cache-Control: max-age=0');
            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
            $objWriter->save('php://output');
    }
});

1 个答案:

答案 0 :(得分:0)

好的,所以PHPExcel即使它的状态失败仍然工作得很好,stackoverflow上所有2-4岁的帖子仍然有效。