2011-09-08 20 views
13

ठीक है, यहाँ मेरी दुविधा है।PHP में ऑटोफिल्टर के साथ एक्सेल फ़ाइल कैसे उत्पन्न करें?

मैं Medical Marcom के लिए एक वर्डप्रेस प्लगइन पर स्वचालित रूप से अपनी ट्विटर ट्विटर डॉक्टरों की सूची अपडेट करने के लिए काम कर रहा हूं। असल में, यह एक फॉर्म बनाने की क्षमता प्रदान करता है जहां उपयोगकर्ता सूची में जोड़े जाने का अनुरोध कर सकते हैं, व्यवस्थापक पैनल में अनुरोधों की पुष्टि की जा सकती है, जब जोड़ा जाता है कि वे एक्सेल फ़ाइल में उपलब्ध हैं और प्रारंभिक डेटा भरा हुआ है, और अंत में , कुछ फ़ील्ड पूरे सप्ताह में स्वचालित रूप से अपडेट हो जाते हैं।

यहां समस्या है।

मेरा कोड PHPExcel का उपयोग कर PHP के साथ एक्सेल फ़ाइल उत्पन्न कर रहा है। हालांकि, मुझे स्टार्टअप पर शीट पर लागू एक सरल ऑटोफिल्टर होना चाहिए (ईमानदारी से, मुझे नहीं पता कि बड़ा सौदा क्या है ... कोई भी एक्सेल में आसानी से ऑटोफिल्टर लागू कर सकता है, लेकिन वह इसे शुरुआत से उपलब्ध करना चाहता है)। इसलिए, मैंने पाया कोड को लागू करने का प्रयास किया:

$excel->getActiveSheet()->setAutoFilter('A1:J' . $row); 

$ एक्सेल मेरा PHPExcel उदाहरण है। $ पंक्ति डेटाबेस से आउटपुट की आखिरी पंक्ति है। फ़ाइल तुरंत उत्पन्न होती है जब यूआरएल क्लिक किया जाता है और PHP के हेडर तो की तरह, एक एक्सेल फ़ाइल के रूप में उत्पादन अनुवाद करने के लिए सेट कर रहे हैं:

header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=" . $file); 

लेकिन जब मैं फ़ाइल को खोलने, कोई autofilters सेट कर रहे हैं ... मैंने कोशिश की posting a question over at PHPExcel's website, लेकिन मुझे कोई जवाब नहीं मिला, इसलिए मैंने यहां पूछने का फैसला किया।

क्या कोई जानता है कि मैं गलत क्या कर सकता हूं? अभी तक वह मूल फ़ाइल (हालांकि थोड़ा अपडेट किया गया है) के साथ जा रहा है जब तक कि इस समस्या का समाधान नहीं हो जाता है।

उत्तर

1

मैं this link से समझता हूं कि इसे अभी तक लागू नहीं किया गया है।

ऐसा लगता है कि यह अभी भी work item (कम प्राथमिकता के साथ क्षमा करें) है।

[संपादित करें] ऐसा लगता है कि यह Excel 2007 के साथ काम कर सकता है (यह work item देखें)। एक्सेल का कौन सा संस्करण आपके क्लाइंट का उपयोग करता है?

+0

मैंने उसे इसके बारे में पूछने के लिए होगा:

तुम सिर्फ यह काम करने के लिए अपने शीर्ष लेख पंक्ति की श्रेणी निर्दिष्ट करने की जरूरत है। मैंने देखा है कि इसे कार्यान्वित किया गया है, और यह दस्तावेज में सही दिखाता है, लेकिन यह मेरे लिए काम नहीं करता है। एक अन्य व्यक्ति जिसने एक कार्य आइटम पोस्ट किया था, जाहिर है, यह काम कर रहा था, इसमें उन्नत सुविधाएं नहीं थीं। मुझे लगता है कि, हालांकि, मैं गलत प्रकार की एक्सेल फ़ाइल आउटपुट करने का प्रयास कर रहा था। मैं जाउंगा और एक्सेल 2007 का उपयोग कर अपने क्लाइंट से पूछूंगा कि ठीक है। वर्तमान फ़ाइल 2003 है, दुर्भाग्य से ... – JaidynReiman

23

यदि कोई इस प्रश्न पर आता है। यह सुविधा एक्सएलएसएक्स और एक्सएलएस दोनों के लिए लागू की गई है।

$excel->getActiveSheet()->setAutoFilter('A1:J1'); 
+0

केवल हेडर पंक्ति कार्यों को निर्दिष्ट करना। धन्यवाद! – Oak

संबंधित मुद्दे