2014-01-09 6 views
0

В настоящее время в моем пользовательском интерфейсе (который является 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. это моя проблема. Может ли кто-нибудь помочь мне в решении этой проблемы? Спасибо.

+0

Как это соотносится? Вызывается ли ваша функция php путем отправки формы? Если да, отправьте форму с помощью ExtJs. –

ответ

0

Вместо того, чтобы тратить слишком много времени на это, у нас может быть готовое решение для вас. Мы создали интерфейсный инструмент XLS (X) и CSV для импорта и экспорта, который можно использовать в приложениях ExtJS 4 с несколькими строками кода. Пользователь просто перетаскивает файл в сетку и делает это. Мы просто запустили его, вот описание: http://2gears.com/2014/08/ext-js-excel-import-export-easy/

Как сказано, импорт и экспорт выполняются на стороне клиента, поэтому в приложениях со многими параллельными пользователями это освобождает сервер от чрезмерной нагрузки. В течение следующих недель будет добавлен мастер импорта, который поможет менее способным пользователям импортировать файлы.

Надеюсь, это поможет.

Смежные вопросы