PHPExcel dosya biçimi için özel başlıkları ayarlayabilirsiniz

1 Cevap php

Googling da ben farklı bir dosya biçiminde oluşturulan Excel çıktısı alınırken ayarlanması gereken başlıkların iki farklı ayarlar bulundu.

için, örneğin

Cins "Excel5" başlıkları şunlardır:

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=$filename");
header("Content-Transfer-Encoding: binary ");

Cins "Excel2007" başlıkları şunlardır:

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="myfile.xlsx"');
header('Cache-Control: max-age=0');

Benim soru: diğer dosya türleri vardır gibi her dosya türü için farklı başlıkları kurmak için ihtiyaç vardır ayrıca CSV, HTML ve PDF?

1 Cevap

header("Pragma: public");

Hayır - bu sadece yanlış - bir sürü insan bunu önbelleğe alma ile ilgili bir şey olduğunu düşünüyorum rağmen

header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

Excel ile hiçbir ilgisi - bu sadece kontrol önbelleğe alma

header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;

Hayır - only tek bir içerik türü başlığı olmalıdır. OLE kullanarak bir MS Excel dosyası için, mimetype uygulama / vnd.ms-excel olmalı

Yukarıda sadece ikinci başlık geçerli bir mim türüdür.

header("Content-Disposition: attachment;filename=$filename");
header("Content-Transfer-Encoding: binary ");

İkinci başlık eski indirmek için bir dosya adı belirtiyorsa, gereksiz olduğunu.

Content-Type: application / vnd.openxmlformats-officedocument.spreadsheetml.sheet ');

Sadece (yani XML kaydedilmiş) bir. Xlsx dosyası için. Aksi takdirde uygulama / vnd.ms-excel kullanmak gerekir. Nitekim ikinci geriye doğru uyumlu olmalıdır.

Benim soru: her dosya türü için farklı başlıkları kurmak için ihtiyaç vardır

Evet - Content-Type header is dosya türü. Ama sadece bu başlığı değiştirmek gerekiyor.

C.