2010-06-11 2 views
3

Код я в настоящее время нет:PHPExcel пишет Excel и сохраняет на сервере?

<?php 

    /** PHPExcel */ 
    require_once '../Classes/PHPExcel.php'; 

    /** PHPExcel_IOFactory */ 
    require_once '../Classes/PHPExcel/IOFactory.php'; 

    // Create new PHPExcel object 
    $objPHPExcel = new PHPExcel(); 

    // Set properties 
    $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") 
           ->setLastModifiedBy("Maarten Balliauw") 
           ->setTitle("Office 2007 XLSX Test Document") 
           ->setSubject("Office 2007 XLSX Test Document") 
           ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") 
           ->setKeywords("office 2007 openxml php") 
           ->setCategory("Test result file"); 

    $result = 'select * from table1'; 

    for($i=0;$i<count($result);$i++) { 

    $result1 = 'select * from table2 where table1_id = ' . $result[$i]['table1_id']; 

    for ($j=0;$j<count($result1);$j++) { 
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $j, $result1[$j]['name']); 
    } 

    // Set active sheet index to the first sheet, so Excel opens this as the first sheet 
    $objPHPExcel->setActiveSheetIndex(0); 

    // Save Excel 2007 file 
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
    $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); 

    // Echo done 
    echo date('H:i:s') . " Done writing file.\r\n";  
    } 

?> 

Приведенный выше код выполняет и сохранить п не из .xlsx файлов в папке, но проблема я получаю самое большое count(result1) в for цикла, выполняющегося в все сохраненные Excel файлы.

ответ

3

Перед углубляясь, ясно одно

Вы не выполнили запрос для $ результат, не извлекайте его и не используйте запрос $ result1, который невозможен,

Тот же про существует с я проблема $ result1

Вы можете использовать:

$result = mysql_query('select * from table1'); 
while($fetch_result=mysql_fetch_array($result)) 
{ 
    $result2 = mysql("select * from table2 where table1_id = '".$fetch_result['table1_id']."'"); 

    while($fetch_result2=mysql_fetch_array($result2) 
    { 
    --your code-- 

Но предпочтительнее писать JOIN вместо этих двух запросов

Смежные вопросы