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(); }