public function exportToExcelByDateAction()
 {
     $filters = $this->getRequest()->getParams();
     $programmedPaymentManager = new ProgrammedPaymentManager();
     $payments = $programmedPaymentManager->getProgrammedPayments($filters);
     $condensedProgrammedPayments = $programmedPaymentManager->getCondensedProgrammedPayments($payments);
     $suppliers = $programmedPaymentManager->getSuppliers($payments);
     $dates = $condensedProgrammedPayments->getDatesAndIndex("asc");
     foreach ($dates as $date) {
         $pay = $condensedProgrammedPayments->getByPK($date["index"]);
         $supplier = $suppliers->getByPK($pay->getIdSupplier());
         if (!$supplier instanceof SapSupplier) {
             $supplier = new SapSupplier();
         }
         $data[$i] = array(0 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][0] = $pay->getDueDateAsZendDate() instanceof \Zend_Date ? $pay->getDueDateAsZendDate()->get("yyyy-MM-dd") : $pay->getDueDate(), 1 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][1] = $pay->getTypeName(), 2 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][2] = $pay->getSapDocnum(), 3 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][3] = $supplier->getIndex(), 4 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][4] = $supplier->getName(), 5 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][5] = $pay->getCurrency(), 6 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][6] = $pay->getAmmount(), 7 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][7] = $pay->getCredits(), 8 => $paymentArray[$pay->getIdSupplier()][$pay->getCurrency()][8] = $pay->getPendingBalance());
         $i++;
     }
     $header = array($this->i18n->_('Due Date'), $this->i18n->_('Document'), $this->i18n->_('Document Number'), $this->i18n->_('Card Code'), $this->i18n->_('Name'), $this->i18n->_('Currency'), $this->i18n->_('Debits'), $this->i18n->_('Credits'), $this->i18n->_('Pending Balance'));
     $title = $this->i18n->_('Programmed Payment Report (by Date)');
     $fileName = $this->i18n->_('programmed_payment_report');
     $report = new SimpleListReport();
     $report->setTableTitle($title);
     $report->setTableHeaders($header);
     $report->setTableContent($data);
     $report->setFilename($fileName);
     $report->createSpreadsheet();
 }