FV.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  3. require __DIR__ . '/../../Header.php';
  4. $helper->log('Returns the Future Value of an investment with periodic constant payments and a constant interest rate.');
  5. // Create new PhpSpreadsheet object
  6. $spreadsheet = new Spreadsheet();
  7. $worksheet = $spreadsheet->getActiveSheet();
  8. // Add some data
  9. $arguments = [
  10. ['Interest Rate', 0.05, 0.10],
  11. ['Pament Frequency', 12, 4],
  12. ['Duration (Years)', 5, 4],
  13. ['Investment', -1000.00, -2000.00],
  14. ['Payment Type', 0, 1],
  15. ];
  16. // Some basic formatting for the data
  17. $worksheet->fromArray($arguments, null, 'A1');
  18. $worksheet->getStyle('B1:C1')->getNumberFormat()->setFormatCode('0.00%');
  19. $worksheet->getStyle('B4:C4')->getNumberFormat()->setFormatCode('$#,##0.00');
  20. // Now the formula
  21. $worksheet->setCellValue('B8', '=FV(B1/B2, B3*B2, B4)');
  22. $worksheet->setCellValue('C8', '=FV(C1/C2, C3*C2, C4, null, C5)');
  23. $worksheet->getStyle('B8:C8')->getNumberFormat()->setFormatCode('$#,##0.00');
  24. $helper->log($worksheet->getCell('B8')->getValue());
  25. $helper->log('FV() Result is ' . $worksheet->getCell('B8')->getFormattedValue());
  26. $helper->log($worksheet->getCell('C6')->getValue());
  27. $helper->log('FV() Result is ' . $worksheet->getCell('C8')->getFormattedValue());