2011-02-09 5 views
21

Avec PHPExcel, j'utilise:PHPExcel type de données situé sur une plage de cellules

$workSheet->fromArray($array);

Pour définir mes données. Cependant, une colonne doit être définie en tant que chaîne (un nombre avec un zéro en tête, le zéro en tête est tronqué s'il n'est pas défini en chaîne). Si je n'utilisais pas la méthode fromArray, je pourrais définir le type de données en utilisant PHPExcel_Worksheet::setCellValueExplicit().

Cependant, je veux le faire en utilisant une gamme de colonnes. Idéalement quelque chose comme ceci:

$worksheet->getCell('A1:A50')->setDataType(PHPExcel_Cell_DataType::TYPE_STRING); 

Mais en regardant le code, getCell ne permettra pas à une gamme, une seule cellule. Comment puis-je faire ceci?

Répondre

12

Il n'existe actuellement aucune méthode dans PHPExcel qui vous permettra de définir le type de données pour une plage de cellules, uniquement pour une cellule individuelle.

Il existe plusieurs options ... plus difficile serait d'écrire un classeur de valeurs de cellule personnalisé qui définit automatiquement le type de données pour ces cellules à chaîne lorsque la valeur de la cellule est définie par fromArray(). Ce que vous pourriez faire à la place (et est beaucoup plus facile), est de laisser le type de données comme un nombre, et la valeur comme un numérique, mais de définir un masque de format numérique qui indique à Excel d'afficher les nombres avec des zéros.

$objPHPExcel->getActiveSheet()->getStyle('L3:N2048') 
           ->getNumberFormat()->setFormatCode('0000'); 
Questions connexes