質問編集履歴

3

エラー情報の追加

2018/12/18 09:09

投稿

lovelydai
lovelydai

スコア38

test CHANGED
File without changes
test CHANGED
@@ -243,3 +243,105 @@
243
243
  }
244
244
 
245
245
  ```
246
+
247
+
248
+
249
+ 追加に追加:$writer->save('php://output'); にすると、やはりヘッダーについてエラーがでました。
250
+
251
+ ```ERROR
252
+
253
+ 2018-12-18 17:43:32 Warning: Warning (512): Unable to emit headers. Headers sent in file=D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx.php line=404 in [D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\cakephp\cakephp\src\Http\ResponseEmitter.php, line 48]
254
+
255
+ Request URL: /sheets/sectionsheet
256
+
257
+ Referer URL: http://localhost:8765/sheets/sectionsheet
258
+
259
+ Trace:
260
+
261
+ Cake\Error\BaseErrorHandler::handleError() - CORE\src\Error\BaseErrorHandler.php, line 153
262
+
263
+ Cake\Http\ResponseEmitter::emit() - CORE\src\Http\ResponseEmitter.php, line 48
264
+
265
+ Cake\Http\Server::emit() - CORE\src\Http\Server.php, line 106
266
+
267
+ [main] - ROOT\webroot\index.php, line 40
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+ 2018-12-18 17:43:32 Warning: Warning (2): Cannot modify header information - headers already sent by (output started at D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx.php:404) in [D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\cakephp\cakephp\src\Http\ResponseEmitter.php, line 148]
276
+
277
+ Request URL: /sheets/sectionsheet
278
+
279
+ Referer URL: http://localhost:8765/sheets/sectionsheet
280
+
281
+ Trace:
282
+
283
+ Cake\Error\BaseErrorHandler::handleError() - CORE\src\Error\BaseErrorHandler.php, line 153
284
+
285
+ header - [internal], line ??
286
+
287
+ Cake\Http\ResponseEmitter::emitStatusLine() - CORE\src\Http\ResponseEmitter.php, line 148
288
+
289
+ Cake\Http\ResponseEmitter::emit() - CORE\src\Http\ResponseEmitter.php, line 54
290
+
291
+ Cake\Http\Server::emit() - CORE\src\Http\Server.php, line 106
292
+
293
+ [main] - ROOT\webroot\index.php, line 40
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+ 2018-12-18 17:43:32 Warning: Warning (2): Cannot modify header information - headers already sent by (output started at D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx.php:404) in [D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\cakephp\cakephp\src\Http\ResponseEmitter.php, line 181]
302
+
303
+ Request URL: /sheets/sectionsheet
304
+
305
+ Referer URL: http://localhost:8765/sheets/sectionsheet
306
+
307
+ Trace:
308
+
309
+ Cake\Error\BaseErrorHandler::handleError() - CORE\src\Error\BaseErrorHandler.php, line 153
310
+
311
+ header - [internal], line ??
312
+
313
+ Cake\Http\ResponseEmitter::emitHeaders() - CORE\src\Http\ResponseEmitter.php, line 181
314
+
315
+ Cake\Http\ResponseEmitter::emit() - CORE\src\Http\ResponseEmitter.php, line 55
316
+
317
+ Cake\Http\Server::emit() - CORE\src\Http\Server.php, line 106
318
+
319
+ [main] - ROOT\webroot\index.php, line 40
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+ 2018-12-18 17:43:32 Warning: Warning (2): Cannot modify header information - headers already sent by (output started at D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx.php:404) in [D:\Bitnami\wampstack-7.1.7-0\apache2\htdocs\djks\trunk\vendor\cakephp\cakephp\src\Http\ResponseEmitter.php, line 181]
328
+
329
+ Request URL: /sheets/sectionsheet
330
+
331
+ Referer URL: http://localhost:8765/sheets/sectionsheet
332
+
333
+ Trace:
334
+
335
+ Cake\Error\BaseErrorHandler::handleError() - CORE\src\Error\BaseErrorHandler.php, line 153
336
+
337
+ header - [internal], line ??
338
+
339
+ Cake\Http\ResponseEmitter::emitHeaders() - CORE\src\Http\ResponseEmitter.php, line 181
340
+
341
+ Cake\Http\ResponseEmitter::emit() - CORE\src\Http\ResponseEmitter.php, line 55
342
+
343
+ Cake\Http\Server::emit() - CORE\src\Http\Server.php, line 106
344
+
345
+ [main] - ROOT\webroot\index.php, line 40
346
+
347
+ ```

2

追加確認項目の追加

2018/12/18 09:09

投稿

lovelydai
lovelydai

スコア38

test CHANGED
File without changes
test CHANGED
@@ -183,3 +183,63 @@
183
183
  追加:リスポンスされた時のHeader情報は以下のようになっています。(ファイル名は、日本語になっています)
184
184
 
185
185
  ![イメージ説明](a8123c3eb80a04950d11842712149835.png)
186
+
187
+
188
+
189
+ また追加:以下のように、出力部だけ別の関数にし、ブラウザーのURLに /sheets/sectionsheetouput と入力すると、クライアントに落ちることまで確認しました。
190
+
191
+ ```PHP
192
+
193
+ public function sectionsheetoutput()
194
+
195
+ {
196
+
197
+ $this->autoRender = false;
198
+
199
+ $this->viewBuilder()->setLayout(false);
200
+
201
+
202
+
203
+ // Excel出力するためのファイル名とフォルダー名を設定する。
204
+
205
+ date_default_timezone_set('Asia/Tokyo');
206
+
207
+ $outputDate = date('Ymd_His');
208
+
209
+ $outputFilename = $outputDate . "_test.xlsx";
210
+
211
+
212
+
213
+ $spreadsheet = new Spreadsheet();
214
+
215
+
216
+
217
+ $spreadsheet->setActiveSheetIndex(0)
218
+
219
+ ->setCellValue('A1', '日本語_japanese');
220
+
221
+
222
+
223
+ $spreadsheet->getActiveSheet()->setTitle('Simple');
224
+
225
+ $spreadsheet->setActiveSheetIndex(0);
226
+
227
+
228
+
229
+ // header('Content-Type: application/vnd.ms-excel');
230
+
231
+ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
232
+
233
+ header('Content-Disposition: attachment;filename="'.$outputFilename.'"');
234
+
235
+ header('Cache-Control: max-age=0');
236
+
237
+ $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
238
+
239
+ $writer->save('php://output');
240
+
241
+ exit;
242
+
243
+ }
244
+
245
+ ```

1

図の追加(Header情報)

2018/12/18 07:56

投稿

lovelydai
lovelydai

スコア38

test CHANGED
File without changes
test CHANGED
@@ -177,3 +177,9 @@
177
177
  });
178
178
 
179
179
  ```
180
+
181
+
182
+
183
+ 追加:リスポンスされた時のHeader情報は以下のようになっています。(ファイル名は、日本語になっています)
184
+
185
+ ![イメージ説明](a8123c3eb80a04950d11842712149835.png)