मेरे पास निम्न कोड है जो PHPExcel का उपयोग करके मेरे लिए एक्सेल शीट उत्पन्न करना है लेकिन समस्या यह है कि इसे चलाने में हमेशा के लिए लगता है। मेरे पास कुछ सिद्धांत PHP कोड भी है। सिद्धांत कोड डीबी से जुड़ता है और उस डेटा को चुनता है जिसे मैं एक्सेल फ़ाइल को पॉप्युलेट करने के लिए उपयोग करना चाहता हूं। नीचे कोड है। कृपया कोई मुझे बता सकता है कि क्या गलत है
/** Error reporting */
error_reporting(E_ALL);
if (!isset($_SESSION)) {
// session_name("mediapp123456");
session_start();
}
require_once ('bootstrap.php');
$conn = Doctrine_Manager::connection ( DSN );
$q = Doctrine_Query::create()
->select('u.*')
->from('UserQuestionnaire u')
->orderBy('u.id DESC');
$row = $q->execute();
date_default_timezone_set('Europe/London');
/** PHPExcel */
require_once 'excelreports/Classes/PHPExcel.php';
// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();
// Set properties
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Ifeanyi Agu")
->setLastModifiedBy("Ifeanyi Agu")
->setTitle("QUSER")
->setSubject("QUSER")
->setDescription("QUser Generated Document")
->setKeywords("xml")
->setCategory("Test result file");
// Add some data
echo date('H:i:s') . " Add some data\n";
$objPHPExcel->getActiveSheet()->mergeCells('B2:F2')
->mergeCells('G2:K2')
->setCellValue('I2', 'FEATURES')
->mergeCells('L2:AI2')
->setCellValue('W2', 'EXPECTATION')
->mergeCells('AJ2:BG2')
->setCellValue('AU2', 'PERCEPTION')
->mergeCells('L3:03')
->setCellValue('M', 'Tangible');
$objPHPExcel->getActiveSheet()->setCellValue('A4', 'No')
->setCellValue('B4', 'School')
->setCellValue('C4', 'Dept')
->setCellValue('D4', 'Status')
->setCellValue('E4', 'Browse')
->setCellValue('F4', 'How Long')
->setCellValue('G4', 'Tangibility')
->setCellValue('H4', 'Reliability')
->setCellValue('I4', 'Assurance')
->setCellValue('J4', 'Responsive')
->setCellValue('K4', 'Empathy')
->setCellValue('L4', 'E1')
->setCellValue('M4', 'E2')
->setCellValue('N4', 'E3')
->setCellValue('O4', 'E4')
->setCellValue('P4', 'E5')
->setCellValue('Q4', 'E6')
->setCellValue('R4', 'E7')
->setCellValue('S4', 'E8');
$i=4;
foreach($row as $rows)
{
$i++;
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, ($i-4))
->setCellValue('B'.$i, $rows->schoolname)
->setCellValue('C'.$i, $rows->department)
->setCellValue('D'.$i, $rows->status)
->setCellValue('E'.$i, $rows->doyoubrowse)
->setCellValue('F'.$i, $rows->browselength);
}
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 2007 file
echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', FILE));
// Echo memory peak usage
echo date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";
?>
1 उत्तर
स्पष्ट संभावनाएं:
->mergeCells('L3:03')
संदेह है कि यह 03 (संख्यात्मक शून्य तीन) के बजाय O3 (स्तंभ अक्षर O, पंक्ति तीन) होना चाहिए
->setCellValue('M', 'Tangible');
कुछ समस्याओं का कारण हो सकता है 'एम' सेल संदर्भ के बजाय एक कॉलम संदर्भ है
मर्ज करते समय और फिर मर्ज किए गए सेल के लिए मान सेट करते समय, मर्ज रेंज के ऊपरी-बाएँ सेल को रेंज के मध्य के लिए सेल के बजाय सेट करना बेहतर होता है। जैसे
->mergeCells('G2:K2')
->setCellValue('G2', 'FEATURES')
इसके बजाय
->mergeCells('G2:K2')
->setCellValue('I2', 'FEATURES')
संबंधित सवाल
नए सवाल
php
PHP एक व्यापक रूप से उपयोग किया जाता है, उच्च-स्तरीय, गतिशील, वस्तु-उन्मुख, और व्याख्या की गई स्क्रिप्टिंग भाषा मुख्य रूप से सर्वर-साइड वेब विकास के लिए डिज़ाइन की गई है। PHP भाषा के बारे में सवालों के लिए इस्तेमाल किया।