2013-10-06 5 views
5
बनाता

हैलो मैं phpexcelPhpExcel कई कार्यपत्रकों

का उपयोग कर किसी कारण छवि के लिए द्वारा एक एक्सेल खाका बनाने के लिए कोशिश कर रहा हूँ के बजाय नया कार्यपत्रक वर्तमान एक का उपयोग कर बनाता है। इसलिए जब मैंने एक्सेल फ़ाइल खोल दी है तो मैंने बनाया है वर्कशीट और वर्कशीट 1 एकल के बजाय।

objPHPExcel = new PHPExcel(); 
      $objWorkSheet = $objPHPExcel->createSheet();    

      // Set the active Excel worksheet to sheet 0 
      $objPHPExcel->setActiveSheetIndex(0); 

      //Taslak Verileri 
      $objPHPExcel->getActiveSheet()->SetCellValue('D'.'1', 'Firm'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('J'.'1', 'SFUFORMU - FR.PS.21'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('J'.'3', 'NO:'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('D'.'2', 'Name Surname Signature'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('A'.'4', 'Date'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('A'.'5', 'Stock No:'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('C'.'5', 'Image'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('E'.'5', 'Image'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('G'.'5', 'Resim'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('I'.'5', 'Image'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('K'.'5', 'Quantity'); 
      $objPHPExcel->getActiveSheet()->SetCellValue('M'.'5', 'Price'); 



      $objDrawing = new PHPExcel_Worksheet_Drawing(); 
        $objDrawing->setWorksheet($objWorkSheet); 
        $objDrawing->setName("name"); 
        $objDrawing->setDescription("Description"); 
        $objDrawing->setPath('temp/3.jpeg'); 
        $objDrawing->setCoordinates('F9'); 
        $objDrawing->setOffsetX(1); 
        $objDrawing->setOffsetY(5); 
      $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
      $objWriter->save('some_excel_file.xlsx'); 

enter image description here

enter image description here

उत्तर

9

आप मूल रूप से एक PHPExcel वस्तु जो पहले से ही सूचकांक 0 साथ खाली शीट en है बनाएँ।

फिर आप इंडेक्स 1 के साथ एक नई शीट बनाते हैं।

फिर आप अपनी सभी चीजें इंडेक्स 0 के साथ शीट पर लिखते हैं और दूसरी शीट (नव निर्मित) पर तस्वीर जोड़ते हैं।

यह आपकी समस्या का समाधान करना चाहिए:

$objPHPExcel->setActiveSheetIndex(1); 

ध्यान दें, कि आप अभी भी एक नया पत्रक बनाने, यहां तक ​​कि पहले एक पहले से मौजूद है। आप पहले से ही मौजूदा कार्यपत्रक का उपयोग करना चाहते हैं, तो बस निम्न कार्य करें:

निकालें:

$objWorkSheet = $objPHPExcel->createSheet();    
    $objPHPExcel->setActiveSheetIndex(0); 

और पहले से ही विद्यमान शीट के साथ सब सामान है।

$sheet = $objPHPExcel->getSheet(0); 
$sheet->setCellValue('D'.'1', 'Firm')//Etc all the stuff. 

ड्राइंग एक ही चादर दें:

$objDrawing->setWorksheet($sheet); 
+0

बस इसे समझ लिया। क्या सिर्फ एक बनाने का कोई तरीका है? क्योंकि इस कोड के साथ मैंने दूसरी चादर का उपयोग किया है जैसा आपने उल्लेख किया है। –

+0

हाँ, मैंने अभी जवाब संपादित किया है। – vikingmaster

0

मैं नहीं जानता कि कैसे नियमों phpexcel लेकिन अपने संदर्भ में इस तरह के इस विधि से दो कार्यपत्रकों निर्माण कर रहे थे क्योंकि आप दो बुला रहे हैं प्रकट होता है बार ...

$objWorkSheet = $objPHPExcel->createSheet(); 

$objDrawing->setWorksheet($objWorkSheet); 
0

लिखने 2 चादर PHPEXCEL

01 का उपयोग करते हुए एक भी Excel कार्यपुस्तिका
for ($i=0; $i <2 ; $i++) { 
    $objPHPExcel->getActiveSheet()->setTitle('Worksheet'); //sheetname 
    $newsheet = $objPHPExcel->createSheet(); //sheet create 
}