AMORLINC.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. use PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Helpers as DateHelper;
  3. use PhpOffice\PhpSpreadsheet\Calculation\Financial\Constants as FinancialConstants;
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. require __DIR__ . '/../../Header.php';
  6. $helper->log('Returns the prorated linear depreciation of an asset for a specified accounting period.');
  7. // Create new PhpSpreadsheet object
  8. $spreadsheet = new Spreadsheet();
  9. $worksheet = $spreadsheet->getActiveSheet();
  10. // Add some data
  11. $arguments = [
  12. ['Cost', 150.00],
  13. ['Date Purchased', DateHelper::getDateValue('01-Jan-2015')],
  14. ['First Period Date', DateHelper::getDateValue('30-Sep-2015')],
  15. ['Salvage Value', 20.00],
  16. ['Period', 1],
  17. ['Depreciation Rate', 0.20],
  18. ['Basis', FinancialConstants::BASIS_DAYS_PER_YEAR_360_EUROPEAN],
  19. ];
  20. // Some basic formatting for the data
  21. $worksheet->fromArray($arguments, null, 'A1');
  22. $worksheet->getStyle('B1')->getNumberFormat()->setFormatCode('$#,##0.00');
  23. $worksheet->getStyle('B2:B3')->getNumberFormat()->setFormatCode('dd-mmm-yyyy');
  24. $worksheet->getStyle('B4')->getNumberFormat()->setFormatCode('$#,##0.00');
  25. $worksheet->getStyle('B6')->getNumberFormat()->setFormatCode('0.00%');
  26. // Now the formula
  27. $worksheet->setCellValue('B10', '=AMORLINC(B1, B2, B3, B4, B5, B6, B7)');
  28. $worksheet->getStyle('B10')->getNumberFormat()->setFormatCode('$#,##0.00');
  29. $helper->log($worksheet->getCell('B10')->getValue());
  30. $helper->log('AMORLINC() Result is ' . $worksheet->getCell('B10')->getFormattedValue());