2012-09-27 80 views
10

Utilicé la biblioteca PHPExcel para generar archivos de Excel basados ​​en la tabla creada por la consulta mysql. Creé varias pestañas con datos individuales de diferentes consultas.PHPExcel cómo aplicar la alineación para todo el documento creado desde la tabla mysql

Necesito alinear los datos en todas las celdas de todas las pestañas (hojas de trabajo) al centro.

Este es mi código:

$mysql_xls = new MySqlExcelBuilder($mysql_db,$mysql_user,$mysql_pass); 

// Add the SQL statements to the spread sheet 

$tab_name = "tabname"; 
$mysql_xls->add_page($tab_name,$sql_statement,NULL,'A',1); 

$phpExcel = $mysql_xls->getExcel(); 

$phpExcel->setActiveSheetIndex(0); // Set the sheet to the first page (default first page). 

He intentado lo siguiente para alinear el texto de las celdas, pero ningún cambio:

$phpExcel->getActiveSheet(0)->getStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 

Respuesta

29

Opción # 1

Conjunto un estilo predeterminado para todo el libro

$objPHPExcel->getDefaultStyle() 
    ->getAlignment() 
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 

Opción # 2

aplicar el estilo a un rango de celdas (toda la hoja en este caso) en cada hoja de trabajo individuales

$phpExcel->getActiveSheet() 
    ->getStyle($phpExcel->getActiveSheet()->calculateWorksheetDimension()) 
    ->getAlignment() 
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 
+0

Mr.Backer Gracias por la respuesta y para el biblioteca increíble! su respuesta funcionó a la perfección pero obtengo un espacio en blanco a la derecha de las celdas en la primera fila (nombres de columna), que no quiero, ¿hay alguna solución para deshacerse de ese espacio? aquí hay una captura de pantalla: http://tinypic.com/view.php?pic=2sayqvc&s=6 – user1702273

+0

Deberá configurar el ancho de la columna para autocalcular –

+0

Disculpe, pero el formato para centrar no se aplica a los nombres de las columnas , ¿hay alguna razón para eso y cómo se puede aplicar el mismo formato para los nombres de las columnas, es decir, la fila 1. – user1702273

Cuestiones relacionadas