alhimik1986 / php-excel-templator

PHP Spreadsheet extension to the export excel file from excel template
MIT License
344 stars 68 forks source link

Не сохраняется файл #8

Open Liphanes opened 5 years ago

Liphanes commented 5 years ago

Подскажите пожалуйста, в чем может быть проблема. Ajax'ом вызываю файл с таким содержимым

require_once('vendor/autoload.php'); $filename = date("Y-m-d");

$templateFile = $_SERVER['DOCUMENT_ROOT'].'templates/shabl_nacl.xlsx'; $fileName = $_SERVER['DOCUMENT_ROOT'].'tmp/exportedfile'.$filename.'.xlsx';

$path=$_SERVER['DOCUMENT_ROOT']; $source=$_SERVER['DOCUMENT_ROOT']."/templates/shabl_nacl.xlsx";

$now = new DateTime();

$params = [ '{clinfo}' => new ExcelParam(CellSetterStringValue::class, $now->format('d-m-Y')), '{docnm}' => new ExcelParam(CellSetterStringValue::class, 'Sales department'), ];

PhpExcelTemplator::saveToFile($templateFile, $fileName, $params); по итогу должен сохраниться файл, но этого не происходит. Что я делаю не так?

Originally posted by @Liphanes in https://github.com/alhimik1986/php-excel-templator/issues/1#issuecomment-468687631

alhimik1986 commented 5 years ago

А зачем тебе Ajax-ом нужно получить содержимое файла? Тебе, наверно, лучше сохранять в новой вкладке (это будет неким аналогом Ajax-а). Это можно сделать, например, такой ссылкой: <a href="/export/excel.xlsx" target="_blank">скачать excel</a>

А во-вторых, вместо PhpExcelTemplator::saveToFile($templateFile, $fileName, $params); нужно вызывать PhpExcelTemplator::outputToFile($templateFile, $fileName, $params);