data['tcoll']; $rcoll = $this->data['rcoll']; $cLang = $this->data['lang']; $template = $this->data['template']; $report = $this->data['report']; $basepath = \rtrim($this->data['basepath'] ?? '', '/'); /** @noinspection PhpIncludeInspection */ $reportLanguage = include $basepath . '/' . \ltrim($tcoll['lang']->getPath(), '/'); $lang = $reportLanguage[$cLang]; $amount = (float) ($this->request->getData('amount') ?? 10000.0); $duration = (int) ($this->request->getData('duration') ?? 10); $spreadsheet = new Spreadsheet(); $spreadsheet->getProperties()->setCreator('Karaka') ->setLastModifiedBy('Karaka') ->setTitle('Karaka - Depreciation Demo') ->setSubject('Karaka - Depreciation Demo') ->setDescription('Demo') ->setKeywords('demo helper depreciation') ->setCategory('demo'); $spreadsheet->setActiveSheetIndex(0) ->setCellValue('A1', $lang['Period']) ->setCellValue('B1', $lang['StraightLine']) ->setCellValue('C1', $lang['ArithmeticDegressive']) ->setCellValue('D1', $lang['ArithmeticProgressive']) ->setCellValue('E1', $lang['GeometricDegressive']) ->setCellValue('F1', $lang['GeometricProgressive']); for ($i = 1; $i <= $duration; ++$i) { $spreadsheet->setActiveSheetIndex(0) ->setCellValue('A' . ($i + 1), $i) ->setCellValue('B' . ($i + 1), $this->getCurrency(Depreciation::getStraightLineResidualInT($amount, $duration, $i), 'medium', '')) ->setCellValue('C' . ($i + 1), $this->getCurrency(Depreciation::getArithmeticDegressiveDepreciationResidualInT($amount, 0.0, $duration, $i), 'medium', '')) ->setCellValue('D' . ($i + 1), $this->getCurrency(Depreciation::getArithmeticProgressiveDepreciationResidualInT($amount, 0.0, $duration, $i), 'medium', '')) ->setCellValue('E' . ($i + 1), $this->getCurrency(Depreciation::getGeometicProgressiveDepreciationResidualInT($amount, $amount * 0.1, $duration, $i), 'medium', '')) ->setCellValue('F' . ($i + 1), $this->getCurrency(Depreciation::getGeometicDegressiveDepreciationResidualInT($amount, $amount * 0.1, $duration, $i), 'medium', '')); } $spreadsheet->getActiveSheet()->setTitle($lang['Depreciation']); $spreadsheet->setActiveSheetIndex(0); $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('php://output');