获取模板,不要将单元格覆盖到空白处

Get a template and dont overwrite the cells into blank spaces

我有一种情况,我在 excel 中得到了一个模板,我只想在其中添加我的数据库的信息,但是当我这样做时,模板只包含信息。请告诉我我做错了什么。我是 PHPExcel 新手

型号:

public function export_excel($id)
    {
        require_once APPPATH.'Classes/PHPExcel.php';

    $queryResult = $this->get($id);

    $objPHPExcel = new PHPExcel();

    $objPHPExcel->setActiveSheetIndex(0);  


    $result = mysql_query($queryResult[0]['query_sql']) or die (mysql_error());

    //echo "SQL = ",    $queryResult[0]['query_sql'];  // pass query allright

    // Initialise the Excel row number 
    $rowCount = $queryResult[0]['start_line'];
    //start of printing column names as names of MySQL fields  
    $column = $queryResult[0]['title_cell'];

    for ($i = 1; $i < mysql_num_fields($result); $i++)  
    {
        $objPHPExcel->getActiveSheet()->setCellValue($column.$rowCount, mysql_field_name($result,$i));
        $column++;
    }
    //end of adding column names  

    //start while loop to get data  
    $rowCount = $rowCount+1;  
    while($row = mysql_fetch_row($result))  
    {  
        $column = 'B';
        for($j=1; $j<mysql_num_fields($result);$j++)  
        {  
            if(!isset($row[$j]))  
                $value = NULL;  
            elseif ($row[$j] != "")  
                $value = strip_tags($row[$j]);  
            else  
                $value = "";  
            $objPHPExcel->getActiveSheet()->getColumnDimension($column)->setAutoSize(true);
            $objPHPExcel->getActiveSheet()->setCellValue($column.$rowCount, $value);
            $column++;
        }  
        $rowCount++;
    }

    $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
    //$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');


    // Write the Excel file to filename some_excel_file.xlsx in the current directory
    if($queryResult[0]['template_location'] !=null){
        $objWriter->save($queryResult[0]['template_location']); 
        //echo date('H:i:s') , " Write to Excel2007 format" , EOL;
        return 1;
    }

    else{
        $objWriter->save('php://output');
        //echo date('H:i:s') , " Write to Excel2007 format" , EOL;
        return 1;
    }

    return null;

}

您不是在读取模板,您需要先从模板读取并写入:

像这样: $objReader = PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load($queryResult[0]['template_location']);

希望对你有所帮助