PHPExcel Save a xls file to a specific folder

22,468

Try changing the $objWriter->save() code to the following:

$objWriter->save(str_replace(__FILE__,'folder_path/filename.xlsx',__FILE__));

You may change the filename and the file type depending on what you need.

Share:
22,468
H Dindi
Author by

H Dindi

BY DAY : Systems Developer at mHealth Kenya Ltd BY NIGHT : Code Machine ,book junkie ,Zombie FOR FUN : Explore the Great rift valley , Aspiring farmer , Social Entrepreneurs enthusiast.

Updated on July 05, 2022

Comments

  • H Dindi
    H Dindi almost 2 years

    I want to save a xls file to a specific folder on the server using Php Excel using the following code :

      $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
    //force user to download the Excel file without writing it to server's HD
    
            $objWriter->save('‪C:/xampp/htdocs/timesheet/files/test.xls');
    

    But I keep on getting the following error :

    A PHP Error was encountered
    
    Severity: Warning
    
    Message: fopen(‪C:/xampp/htdocs/timesheet/files/test.xls): failed to open stream: Invalid argument
    
    Filename: PPS/Root.php
    
    Line Number: 90
    
    
        Fatal error: Uncaught exception 'PHPExcel_Writer_Exception' with message 'Can't open ‪C:/xampp/htdocs/timesheet/files/test.xls. It may be in use or protected.' in C:\xampp\htdocs\timesheet\application\third_party\PHPExcel\Shared\OLE\PPS\Root.php:93 Stack trace: #0 C:\xampp\htdocs\timesheet\application\third_party\PHPExcel\Writer\Excel5.php(226): PHPExcel_Shared_OLE_PPS_Root->save('???C:/xampp/htd...') #1 C:\xampp\htdocs\timesheet\application\controllers\time_sheet.php(6131): PHPExcel_Writer_Excel5->save('???C:/xampp/htd...') #2 [internal function]: Time_sheet->save_time_sheet() #3 C:\xampp\htdocs\timesheet\system\core\CodeIgniter.php(359): call_user_func_array(Array, Array) #4 C:\xampp\htdocs\timesheet\index.php(202): require_once('C:\xampp\htdocs...') #5 {main} thrown in C:\xampp\htdocs\timesheet\application\third_party\PHPExcel\Shared\OLE\PPS\Root.php on line 93
    

    Please advise on the best way to save the file on the server.

    • Mark Baker
      Mark Baker about 10 years
      Does the folder C:/xampp/htdocs/timesheet/files exist on your server, and have appropriate write permissions for your webserver?
    • Brian North
      Brian North about 10 years
      possible duplicate of PhpExcel Save file to a folder
  • zero8
    zero8 almost 4 years
    nice will try this be back at you .