PHP Excel和Codeigniter

PHP Excel和Codeigniter,php,jquery,ajax,codeigniter,phpexcel,Php,Jquery,Ajax,Codeigniter,Phpexcel,我想请你帮忙 我正在使用CodeIgniter做一个项目,除了我正在制作的图表之外,我还需要生成Excel文件。我正在使用PHPExcel生成Excel文件 我在项目的第三方文件夹中添加了Classes文件夹 我在项目的libraries文件夹中创建了一个名为Excel.php的文件,其中包含以下代码: <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); require_once APPPA

我想请你帮忙

我正在使用CodeIgniter做一个项目,除了我正在制作的图表之外,我还需要生成Excel文件。我正在使用PHPExcel生成Excel文件

我在项目的第三方文件夹中添加了Classes文件夹

我在项目的libraries文件夹中创建了一个名为Excel.php的文件,其中包含以下代码:

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');  

require_once APPPATH."/third_party/Classes/PHPExcel.php";
class Excel extends PHPExcel {
    public function __construct() {
        parent::__construct();
    }
}
控制器似乎正在工作,但它没有下载任何excel文件

因此,我尝试对控制器返回的数据发出警报,这是发出警报时的外观

我希望你能帮我解决这个问题。谢谢

更新

问题解决了。原来它已经在下载文件了。当我检查目录时,该文件已存在

我所做的是添加了一个锚定标记,如果导出成功就会触发该标记,这样它就可以提示我该文件已实际下载,并且可以在页面下方看到

$("#someid").trigger("click").attr("target", "_blank");
锚定标记如下所示:

<a href="<?php echo base_url(); ?>/directoryofthefile/somename.xls" style="display: none;">
<input type="button" id="someid" value="Test" class="btn btn-success">
</a>

摘自:

如果希望提示用户保存正在发送的数据,例如生成的PDF文件,可以使用»Content Disposition标头提供建议的文件名,并强制浏览器显示保存对话框


以后,使用
console.log()
而不是
alert()
进行调试。这是一个更好的习惯,而且是互动的。
$("#someid").trigger("click").attr("target", "_blank");
<a href="<?php echo base_url(); ?>/directoryofthefile/somename.xls" style="display: none;">
<input type="button" id="someid" value="Test" class="btn btn-success">
</a>
<?php
// We'll be outputting a PDF
header('Content-Type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>