use yii\db\Expression;
use yii\db\Query;
use yii\helpers\ArrayHelper;
+use yii\web\Response;
use yii_app\records\CityStore;
use yii_app\records\MatrixBouquetForecast;
use yii_app\records\PricesDynamic;
'group_name' => 'Оффлайн',
];*/
$request = Yii::$app->request;
+ $this->layout = false;
+ Yii::$app->response->format = Response::FORMAT_RAW;
+
+
+ while (ob_get_level() > 0) {
+ ob_end_clean();
+ }
$filters = [
'category' => $request->get('category'),
$rowNum++;
}
- $filename = 'report_' . date('Ymd_His') . '.xlsx';
+ foreach (range('A', 'J') as $col) {
+ $sheet->getColumnDimension($col)->setAutoSize(true);
+ }
+
- header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
- header('Content-Disposition: attachment;filename="' . $filename . '"');
- header('Cache-Control: max-age=0');
- header('Expires: 0');
- header('Pragma: public');
+ $tempFile = tempnam(sys_get_temp_dir(), 'xlsx');
+ $writer = new Xlsx($spreadsheet);
+ $writer->save($tempFile);
- $writer = new Xlsx($spreadsheet);
- $writer->save('php://output');
- Yii::$app->end();
+ return Yii::$app
+ ->response
+ ->sendStreamAsFile(
+ fopen($tempFile, 'rb'),
+ 'report_' . date('Ymd_His') . '.xlsx',
+ [
+ 'mimeType' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+ 'inline' => false,
+ 'deleteFileAfterSend' => true,
+ ]
+ );
}