2012-06-24 14 views
5

में PHPExcel त्रुटि कोड Igniter के साथ PHPExcel का उपयोग करने का प्रयास कर रहा हूं।कोडनिर्देशक

लेकिन मैं एक त्रुटि मिली

गंभीर त्रुटि: निजी IOFactory के लिए C में :: __ निर्माण() संदर्भ 'CI_Loader' इससे कॉल: \ ms4w \ अपाचे \ htdocs \ वृक्षारोपण \ प्रणाली \ कोर \ Loader.php लाइन 949

पर मैं अपने क्षुधा/पुस्तकालयों

में PHPExcel रख दिया और यह मेरा कोड नियंत्रक

function excel() 
    { 

     $this->load->library('phpexcel'); 
     $this->load->library('PHPExcel/iofactory'); 

     $objPHPExcel = new PHPExcel(); 
     $objPHPExcel->getProperties()->setTitle("title") 
     ->setDescription("description"); 

     // Assign cell values 
     $objPHPExcel->setActiveSheetIndex(0); 
     $objPHPExcel->getActiveSheet()->setCellValue('A1', 'cell value here'); 

     // Save it as an excel 2003 file 
     $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5'); 
     $objWriter->save("nameoffile.xls"); 

    } 

सैम है ई http://codeigniter.com/wiki/PHPExcel/

इस मामले को हल करने के

मैं CodeIgniter 2.0 और php का उपयोग ध्यान देने के लिए उत्कृष्टता 1.7.7

धन्यवाद

बीआर

पूजा

+0

मैं सीआई विशेषज्ञ नहीं हूं, लेकिन फ़ाइल नामों को केस-संवेदी होना चाहिए या नहीं? –

+0

@EswarRajeshPinapala, @MarkBaker अंततः यह थ्रेड काम करता है लेकिन जब मैं एक्सेल डाउनलोड करता हूं तो फ़ॉन्ट अजीब है ** þÿÕÍÕœ। "- +, ù®0¼HPX'hp ** जब मैं हेडर कोड डालता हूं और कोड '$ objWriter-> सहेजें ('php: // output'); 'मेरे नियंत्रक में। कोई विचार?? –

+0

दरअसल, आपको ब्राउज़र में एक्सेल सामग्री आउटपुट नहीं करना चाहिए, ब्राउज़र ब्राउज़र इसे पढ़ नहीं सकता है। इस समस्या को हल करने के तरीके पर मेरा जवाब देखें। वैकल्पिक रूप से आप $ objWriter-> save ('test.xlsx') भी कर सकते हैं; –

उत्तर

10

यहाँ है कृपया के रूप में आप अपना फ़ंक्शन कैसे सेट अप कर सकते हैं यह आपके अमान्य वर्णों की समस्या को हल करता है, उचित शीर्षलेख शामिल करता है और ob_en करता है d_clean(); किसी आउटपुट बफरिंग को साफ करने के लिए। हालांकि आप इसे बचाने से पहले ऐसा करें() हालांकि।

public function howToPhpExcel() 
{ 
    $response = $this->_response; 

    $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(); 

    $excel = new PHPExcel(); 
    $excel->setActiveSheetIndex(0); 
    $worksheet = $excel->getActiveSheet(); 
    $worksheet->getCell('A1')->setValue('tet'); 
    $worksheet->getCell('B1')->setValue('tet'); 

    ob_end_clean(); 

    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
    header("Cache-Control: no-store, no-cache, must-revalidate"); 
    header("Cache-Control: post-check=0, pre-check=0", false); 
    header("Pragma: no-cache"); 
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
    header('Content-Disposition: attachment;filename="Report.xlsx"'); 

    $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); 
    ob_end_clean(); 

    $objWriter->save('php://output'); 
    $excel->disconnectWorksheets(); 
    unset($excel); 

} 
+0

आपके उत्तर के लिए @EswarRajeshPinapala बहुत बहुत धन्यवाद। धन्यवाद आप मेरा समय बचाओ। –

+0

आपका स्वागत है! –

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