2013-03-12 8 views
13

मैं phpExcel का उपयोग कर रहा हूं, और मुझे यह जांचने के लिए कुछ भी नहीं मिला है कि कोई शीट मौजूद है या नहीं। मैं जो हासिल करना चाहता हूं वह इस तरह कुछ है:PHPExcel जांचें कि शीट मौजूद है

if(!$excel->sheetExists(1)){ 
    $excel->createSheet(1); 
    $sheet = $excel->setSheet(1); 
} 
// Do some stuff with the sheet 

तो। मेरा सवाल: मैं कैसे जांच सकता हूं कि कोई शीट मौजूद है या नहीं?

संपादित

इस काम चाहेंगे?

try{ 
    $sheet = $this->excel->setActiveSheetIndex(1); 
}catch(Exception $e){ 
    $excel->createSheet(1); 
    $sheet = $excel->setActiveSheetIndex(1); 
} 

उत्तर

27

आप बस इंडेक्स को 1 पर है कि क्या एक sheetexists जानना चाहते हैं, तो

$sheetCount = $excel->getSheetCount(); 

कार्यपत्रकों की गिनती वापस आ जाएगी। चूंकि चादरों को 0 से क्रमशः अनुक्रमित किया जाता है, तो सूचकांक 1 पर एक शीट केवल तभी मौजूद होगी जब गणना 2 या अधिक हो।

आप को पता है एक नामित चादर मौजूद है या नहीं चाहते हैं, तो

$sheetNames = $excel->getSheetNames(); 

पत्रक के नाम की एक सरणी (उनके सूचकांक स्थिति द्वारा अनुक्रमित) वापस आ जाएगी, और आप तो in_array का उपयोग कर परीक्षण कर सकते हैं();

यदि अनुरोध शीट (सूचकांक द्वारा) मौजूद नहीं है

$excel->getSheet() 

विधि एक अपवाद फेंक देते हैं, तो एक आज़माएं/कैच ब्लॉक में लपेट एक और दृष्टिकोण

$excel->getSheetByName() 

होगा यदि नामित वर्कशीट मौजूद नहीं है तो एक पूर्ण मान देता है

+0

मैं एक कोशिश पकड़ के साथ मेरे सवाल का अद्यतन किया गया। यह 'getSheet' जैसा नहीं है लेकिन यह समान है। –

+0

यह काम करेगा, हाँ .... ओपन सोर्स लाइब्रेरीज़ के बारे में महान चीजों में से एक यह है कि आप वास्तव में कोड देख सकते हैं और खुद को देख सकते हैं कि यह क्या करता है –

1

getSheet($sheetNumber) अगर एक पत्रक मौजूद है आप कैसे की जाँच है।

3

आप यह जांच सकते हैं कि विधि sheetNameExists($pSheetName) विधि के साथ नाम से कोई शीट मौजूद है या नहीं।

0

हाँ अपने कोड भी काम करेगा:

try { 
     $objWorksheet = $objPHPExcel->setActiveSheetIndex(1); 
} 
catch (Exception $e) { 
    echo 'Sheet is not exists!'; 
} 
संबंधित मुद्दे