2011-07-25 20 views
37

Tengo una tabla sencilla como:Los valores de celda de mezcla con PHPExcel - PHP

 

- id 
- first_name 
- last_name 
- email 
- phone 
 

estoy usando PHPExcel exportar mis datos en formato XLS

 

    $rowNumber = 1; 
    while ($row = mysql_fetch_row($result)) { 
     $col = 'A'; 
     foreach($row as $cell) { 
      $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$cell); 
      $col++; 
     } 
     $rowNumber++; 
    } 
 

Ahora que fusionar los dos campos first_name & last_name en una celda

me trataron:

 

$rowNumber = 1; 
    while ($row = mysql_fetch_row($result)) { 
    $objPHPExcel->getActiveSheet()->setCellValue('A'.$rowNumber,$row['id']) 
           ->setCellValue('B'.$rowNumber,$row['first_name']) 
           ->setCellValue('C'.$rowNumber,$row['last_name']);                 
    $rowNumber++; 
} 
 

Pero obtengo errores y no funciona. ¿Alguna ayuda?

+1

¿Cuáles son los errores? –

+0

Jared Farrish >> algo así como: http://dpaste.de/uXbH/raw/ – Cheerio

+0

Parece que sus encabezados no están funcionando. Asegúrese de que estén antes de cualquier salida (incluso espacios en blanco). –

Respuesta

88

hay un método específico para hacer esto:

$objPHPExcel->getActiveSheet()->mergeCells('A1:C1'); 

También puede utilizar:

$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:C1'); 

Que debe hacer el truco.

+0

Hola, Jahmic, quiero verificar si dos filas se han fusionado o no. Tengo 1000 filas y si dos se fusionan entre ellas, salga. Por favor, ¿puedes ayudar? – user3816325

+0

@ user3816325 No he usado estos métodos desde hace unos años, pero no tengo motivos para creer que algo sea diferente. Haz copias de seguridad y pruébalo. Si su pregunta es más compleja, tal vez publicar una nueva pregunta sea el camino a seguir. – Jahmic

18

probar este

$objPHPExcel->getActiveSheet()->mergeCells('A1:C1'); 
0

$this->excel->setActiveSheetIndex(0)->mergeCells("A".($p).":B".($p)); de fusión dinámica de las células

Cuestiones relacionadas