У меня есть следующий код, который должен генерировать лист Excel для меня с использованием PHPExcel, но проблема в том, что для его запуска требуется вечность.У меня также есть некоторый код Doctrine PHP.Код Doctrine соединяется с БД и выбирает данные, которые я хочу использовать для заполнения файла Excel.Ниже приведен код.Пожалуйста, может кто-нибудь сказать мне, что не так
<code>
<p>/** Error reporting */
error_reporting(E_ALL);</p>
<p>if (!isset($_SESSION)) {
// session_name("mediapp123456");
session_start();
}</p>
<p>require_once ('bootstrap.php');
$conn = Doctrine_Manager::connection ( DSN );</p>
<p>$q = Doctrine_Query::create()
->select('u.*')
->from('UserQuestionnaire u')
->orderBy('u.id DESC');
$row = $q->execute();</p>
<p>date_default_timezone_set('Europe/London');</p>
<p>/** PHPExcel */
require_once 'excelreports/Classes/PHPExcel.php';</p>
<p>// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();</p>
<p>// 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");</p>
<p>// Add some data
echo date('H:i:s') . " Add some data\n";</p>
<p>$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'); </p>
<p>$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');</p>
<p>$i=4;
foreach($row as $rows)
{
$i++;<br>
$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);</p>
<p>}</p>
<p>// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);</p>
<p>// 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', <strong>FILE</strong>));</p>
<p>// Echo memory peak usage
echo date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";</p>
<p>// Echo done
echo date('H:i:s') . " Done writing file.\r\n";</p>
<p>?>