В настоящее время в моем пользовательском интерфейсе (который является CRUD) сотрудника я добавляю кнопку «Сгенерировать отчет Excel», что означает, что при щелчке появится диалоговое окно загрузки файла и спросит, будет ли я будет загружать файл (вместе с данными из моего postgre DB) в файл excel.Использование Extjs для генерации отчета 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. это моя проблема. Может ли кто-нибудь помочь мне в решении этой проблемы? Спасибо.
Как это соотносится? Вызывается ли ваша функция php путем отправки формы? Если да, отправьте форму с помощью ExtJs. –