2013-10-13 9 views
6

मैं नीचे दिए गए कोड से xlsx में निर्यात की गई सभी कार्यपत्रकों का नाम बदलने की कोशिश कर रहा हूं। निर्यात ठीक काम करता है, लेकिन सभी वर्कशीट्स का शीर्षक केवल वर्कशीट 1, 2, 3, आदिसभी कार्यपत्रकों के लिए PHPEXCEL सेट शीर्षक

मैं अपने php डेटाबेस से "assets_name" कॉलम से नामों को पकड़ना चाहता हूं।

जैसे, worksheet1-> aaa

मैं चाहता हूँ यह बनने के लिए: asset1-> aaa

चीयर्स,

/** Query 1.0 */ 
    $query = "SELECT * FROM asset_register"; 
    $query2 = "SELECT asset_name FROM asset_register"; 

    if ($result = mysql_query($query) or die(mysql_error())) { 

    /** Create a new PHPExcel object 1.0 */ 
$objPHPExcel = new PHPExcel(); 
$objPHPExcel->getActiveSheet()->setTitle('Data'); 
} 
/** Loop through the result set */ 
$rowNumber = 1; //start in row 1 

$objPHPExcel->removeSheetByIndex(0); 
while ($row = mysql_fetch_row($result)) { 

    $newsheet = $objPHPExcel->createSheet(); 
    $col = 'A'; // start at column A 

    $objPHPExcel->getActiveSheet()->setTitle(mysql_query($query2)); 

    foreach($row as $cell) { 
     $newsheet->setCellValue($col.$rowNumber,$cell); 
     $col++; 
    } 

उत्तर

4
mysql_query($query2) 

एक resultset देता है, तो आप कर रहे हैं एक स्ट्रिंग के लिए वर्कशीट लेबल को संसाधन में सेट करने का प्रयास कर रहा है। आप के रूप में पीएचपी

के लिए

संपादित

खुद के प्रत्येक संपत्ति के नाम के लिए एक नई शीट देने के लिए सभी MySQL प्रलेखन में दिखाया गया asset_column के लिए स्ट्रिंग मान को पढ़ने के लिए resultset से पंक्ति लाने की जरूरत है, की तरह कुछ का उपयोग :

$prevAssetName = NULL; 
$objPHPExcel->removeSheetByIndex(0); 
while ($row = mysql_fetch_row($result)) { 
    if ($row['asset_name'] !== $prevAssetName) { 
     $newsheet = $objPHPExcel->createSheet(); 
     $newsheet->setTitle($row['asset_name']); 
     $prevAssetName = $row['asset_name']; 
    } 

    $col = 'A'; // start at column A 
    foreach($row as $cell) { 
     $newsheet->setCellValue($col.$rowNumber,$cell); 
     $col++; 
    } 
} 
0

मैंने लगभग एक ही चीज़ की लेकिन यह मुझे परिणाम नहीं देता है। यह सिर्फ डिफ़ॉल्ट नाम के साथ एक्सेल में एक वर्कशीट बनाते हैं। मुझे टेबल टेबल से अपने नाम के साथ डेटाबेस टेबल से एकाधिक वर्कशीट की आवश्यकता है।

$query = "select name from campaigns WHERE clients_id='77'"; 



$result = mysqli_query($con,$query) or die(mysqli_connect_error()); 


$objPHPExcel = new PHPExcel(); 

$prevName = NULL; 

$objPHPExcel->removeSheetByIndex(0); 

while ($row = mysqli_fetch_row($result)){ 



if ($row['name'] !== $prevName) { 



$newsheet = $objPHPExcel->createSheet(); 





$newsheet->setTitle($row['name']); 

$prevName=$row['name']; 

} 

}

+0

कोई प्रश्न है? एक प्रश्न पूछें, जवाब नहीं। –

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