目前在我的用户界面(即CRUD)中,我添加了一个“生成Excel报告”按钮,这意味着当它被点击时,会出现一个文件下载对话框,并询问我是否会下载该文件(一起使用我的postgre数据库中的数据)到excel文件。
我的问题是我还没有制作我的Ext。对于这个。我已经完成了几次尝试,但仍然无效。
这是我到目前为止所尝试的:
来自我的'actions.class.php':
public function executeGenerateEmployee(sfWebRequest $request)
{
require_once dirname(__FILE__) . '../../../../../../lib/PhpExcel/Classes/PHPExcel.php';
// $con = Doctrine::getConnection("doctrine");
$con = Doctrine_Manager::getInstance()->getCurrentConnection();
$sql = "SELECT e.id AS e__id, e.department AS e__department, (e.fname || ' ' || e.lname) AS e__0 FROM employees e ORDER BY e.id";
$sheetTitle='Excel Report';
$report_type='Programmers Group';
$stmt = $con->prepare($sql);
$stmt->execute();
$excel_report = $stmt->fetchAll(PDO::FETCH_ASSOC);
if(!empty($excel_report))
{
$objPHPExcel = new PHPExcel();
$this->processExcel($excel_report,$objPHPExcel,$sheetTitle,$report_type);
$objPHPExcel->createSheet();
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
$writer->save("/tmp/excel_Report_2.xlsx");//directory
die();
}
die('here');
}
对于我的'test.js':
var generateItem = new Ext.Action ({
text: 'Generate Excel Report',
width: 60,
enabled: true,
handler: function(){
}
});
GenerateReport: function() {},
我相信我的actions.class.php文件中的代码是正确的。我做了很多测试。 只有我的Ext。是我的问题。 有人可以帮我解决这个问题吗? 感谢。
答案 0 :(得分:0)
我们可能会为您提供一个现成的解决方案,而不是花太多时间来构建它。我们已经创建了一个前端XLS(X)和CSV导入和导出工具,您可以在ExtJS 4应用程序中使用几行代码。用户只需拖动网格上的文件即可完成。我们刚推出它,这里有一个描述:http://2gears.com/2014/08/ext-js-excel-import-export-easy/
如上所述,导入和导出是在客户端完成的,因此在具有许多并发用户的应用程序中,这可以减轻服务器过载的负担。在接下来的几周内,还将添加一个导入向导,用于指导功能较少的用户导入文件。
希望它有所帮助。