dimanche 6 novembre 2016

PHPExcel save the file in the storage directory with laravel 5

In my controller is my code

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Set document properties
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
                         ->setLastModifiedBy("Maarten Balliauw")
                         ->setTitle("Office 2007 XLSX Test  Document")
                         ->setSubject("Office 2007 XLSX Test Document")
                         ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                         ->setKeywords("office 2007 openxml php")
                         ->setCategory("Test result file");


// Add some data
$objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('A1', 'Hello')
        ->setCellValue('B2', 'world!')
        ->setCellValue('C1', 'Hello')
        ->setCellValue('D2', 'world!');

// Miscellaneous glyphs, UTF-8
$objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('A4', 'Miscellaneous glyphs')
        ->setCellValue('A5', 'TW');

// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Simple');


// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);


// Redirect output to a client’s web browser (Excel2007)

$file = "myfile.xlsx";
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename='.$file);
header('Cache-Control: max-age=0');
ob_clean();
flush();
//readfile($file);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save()->storage_path();
ob_end();
exit;

The browser opens a window and recording occurs in downloading and not in storage. Why? How to do?

Second problem: The resulting file has the following error: 1/1 ErrorException in Excel2007.php line 239: ZipArchive::open(): Empty string as source

Apparently this comes from these lines of code :

        if (file_exists($pFilename)) {
            unlink($pFilename);
        }
    // Try opening the ZIP file
        if ($objZip->open($pFilename, $zipOverWrite) !== true) { //239
            if ($objZip->open($pFilename, $zipCreate) !== true) {
                throw new PHPExcel_Writer_Exception("Could not open " . $pFilename . " for writing.");
    }
}



via Chebli Mohamed

1 commentaire:

  1. If you are looking for a good contextual ad network, I suggest you take a peek at Clicksor.

    RépondreSupprimer