2010-04-08 30 views
8

Trong khi googling tôi tìm thấy hai bộ tiêu đề khác nhau cần được đặt khi xuất excel được tạo ở định dạng tệp khác.PHPExcel đặt tiêu đề cụ thể cho định dạng tệp

ví dụ:

Đối Loại "Excel5" tiêu đề là:

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 "); 

Đối Loại "Excel2007" tiêu đề là:

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

Câu hỏi của tôi: là có cần phải thiết lập tiêu đề khác nhau cho mỗi loại tệp cũng như có các loại tệp khác cũng là CSV, HTMLPDF?

Trả lời

12
header("Pragma: public"); 

Không - đây chỉ là sai - mặc dù rất nhiều người nghĩ rằng nó có cái gì để làm với bộ nhớ đệm

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

Không có gì để làm với Excel - đây chỉ kiểm soát bộ nhớ đệm

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

Không - chỉ có chỉ là một tiêu đề loại nội dung. Đối với tệp MS Excel sử dụng OLE, mimetype phải là application/vnd.ms-excel

Chỉ tiêu đề thứ hai ở trên là loại mime hợp lệ.

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

Tiêu đề thứ hai là thừa, trước đây chỉ định tên tệp để tải xuống.

Loại nội dung: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ');

Chỉ cho tệp .xlsx (ví dụ: được lưu trong XML). Nếu không, bạn nên sử dụng application/vnd.ms-excel. Thật vậy, sau này nên tương thích ngược.

Câu hỏi của tôi: là có cần phải thiết lập tiêu đề khác nhau đối với từng loại tập tin

Có - các Content-Type tiêu đề loại tệp. Nhưng chỉ tiêu đề này cần phải thay đổi.

C.

Các vấn đề liên quan