2010-12-22 18 views

Respuesta

12

Si está creando todas esas hojas usted mismo. Establezca las propiedades para la primera hoja que cree, luego clone esa hoja y adjunte la nueva copia nuevamente al mismo libro de trabajo. Esto debería copiar todos los datos de celda existentes y la información de estilo de la hoja de trabajo original.

// Create a new PHPExcel object with a single sheet 
$objPHPExcel = new PHPExcel(); 

// Set any styles here against the currently active sheet in $objPHPExcel 

// Get the current sheet with all its newly-set style properties 
$objWorkSheetBase = $objPHPExcel->getSheet(); 

// Create a clone of the current sheet, with all its style properties 
$objWorkSheet1 = clone $objWorkSheetBase; 
// Set the newly-cloned sheet title 
$objWorkSheet1->setTitle('Cloned Sheet'); 
// Attach the newly-cloned sheet to the $objPHPExcel workbook 
$objPHPExcel->addSheet($objWorkSheet1); 

Es útil señalar que se puede definir estilos de una célula, incluso antes de escribir los datos a esa celda

+0

Hola, Mark. Quise decir más como: '$ objPHPExcel-> getAllSheets() -> getColumnDimension ('A') -> setWidth (20);'. ¿Es posible algo así? Actualmente estoy recorriendo un conjunto de hojas. – Francisc

+1

@Francisc - No, no hay nada como eso para establecer propiedades en todas las hojas de un libro de trabajo con una sola llamada. No es algo que alguien haya pedido antes. Pasar por cada hoja a su vez es actualmente la única opción disponible. –

+0

Bueno, tengo una gran base de datos que necesito estructurar para no tener más de 50K filas en una sola hoja, pero el resto de la información, como alineaciones, tamaños, colores, etc. deben ser idénticos. – Francisc

Cuestiones relacionadas