2012-03-24 11 views
11
header("Content-Type: application/vnd.ms-excel; charset=utf-8"); 
header("Content-type: application/x-msexcel; charset=utf-8"); 
header("Content-Disposition: attachment; filename=abc.xsl"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: private",false); 
echo "Some Text" 

यहाँ लिखने के लिए कोड और डाउनलोड XSL फ़ाइल php का उपयोग कर रहा है,
मेरी समस्या यह है कि जब मैं खुले उत्कृष्टता फ़ाइल MS-एक्सेल चेतावनी दिखाएं से पहले फ़ाइल को खोलने का कहना हैपीएचपी एक्सेल हैडर

फ़ाइल आप कर रहे हैं खोलने का प्रयास फ़ाइल एक्सटेंशन द्वारा निर्दिष्ट प्रारूप से अलग प्रारूप में है ... ब्ला ब्ला

इस चेतावनी को हटाने के लिए PHP कोड के साथ क्या करना है? सामग्री सही ढंग से लिखी जाती है।

मैं जानता हूँ कि इस वजह से फ़ाइल में लिखी गई सामग्री, कि है, TXT रहे xls फ़ाइल सामग्री और फ़ाइल एक्सटेंशन को सही नहीं है। उपाय?

कृपया किसी भी लाइब्रेरी का उपयोग करने का सुझाव नहीं है।

+0

'समाधान ???' उम - सही विस्तार, का उपयोग '.txt'? मुझे यकीन नहीं है कि आप यहां क्या पूछ रहे हैं। –

+3

लेकिन "कुछ पाठ" एक्सेल फ़ाइल के लिए मान्य सामग्री नहीं होगी .... और एक्सेल यह संदेश देगा यदि आप पोर्क पाई बताते हैं और कोशिश करते हैं और दिखाते हैं कि एक टेक्स्ट फ़ाइल एक एक्सएलएस फ़ाइल है ... यदि आप चाहते हैं इससे बचने के लिए, हमें "कोई पुस्तकालय" न बताएं। लाइब्रेरी का प्रयोग करें या पूरी चीज स्वयं लिखें ... मैंने जो पुस्तकालय लिखा है, अब तक 6 साल से अधिक समय ले लिया है –

+3

एक्सेल फाइलों के लिए बस एमआईएमई प्रकार भेजना जादुई रूप से एचटीएमएल या सीएसवी आउटपुट को वास्तविक एक्सेल फ़ाइल में बदल नहीं देगा। आलस्य के लिए कोई कामकाज नहीं है। – mario

उत्तर

7

इस

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

आप एक से अधिक Content-Type हेडर दे रहे हैं की कोशिश करो। application/vnd.ms-excel पर्याप्त है।

और वहाँ सिंटेक्स त्रुटि की जोड़ी भी हैं। इको कथन और गलत फ़ाइल नाम एक्सटेंशन पर ; के साथ कथन समाप्त करने के लिए।

header("Content-Type: application/vnd.ms-excel; charset=utf-8"); 
header("Content-Disposition: attachment; filename=abc.xls"); //File name extension was wrong 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: private",false); 
echo "Some Text"; //no ending ; here 
+2

सामग्री विस्थापन –

+0

@MarkBaker में फ़ाइल नाम के विस्तार का उल्लेख नहीं करना, हाँ, मुझे याद आया कि – Starx

+0

मैंने एक नई PHP फ़ाइल में कॉपी और पेस्ट किया है और मेरी डाउनलोडेड xls फ़ाइल की जांच की है, यह वही देता है त्रुटि संदेश, कुछ अधिक है? –

0

बस अपनी PHP स्क्रिप्ट के अंत में exit; जोड़ने का प्रयास करें।