2010-07-14 5 views
1

J'ai utilisé Spreadsheet::WriteExcel pour créer un rapport de tableur.Comment fusionner des cellules en utilisant Spreadsheet :: WriteExcel en utilisant la fonction Merge_range?

J'ai essayé de fusionner certaines cellules en utilisant la fonction merge_range().

$worksheet->merge_range(3,5,9,4,$title, $format); [OR]

$worksheet->merge_range('E3:I4',$title, $format);

$worksheet->write('F6',"LANGUAGE",$format);

il affiche le message d'erreur comme le

suivant

Error: refer to merge_range() in the documentation. Can't use previously merged format in non-merged cell

Comment résoudre ce problème. si j'ai utilisé write() .. cette fois seulement, il montre l'erreur. si je n'ai utilisé aucune fonction d'écriture cette fois, le message d'erreur ci-dessus n'apparaît pas et les cellules sont fusionnées.

Répondre

5

Si vous consultez la documentation du module Spreadsheet::WriteExcel, il déclare:

AVERTISSEMENT: L'objet de format qui est utilisé avec un appel de méthode merge_range() est marquée en interne comme étant associée à une gamme issue de la fusion. C'est une erreur fatale d'utiliser un format fusionné dans une cellule non fusionnée. Au lieu de cela, vous devez utiliser des formats distincts pour les cellules fusionnées et non fusionnées. Cette restriction sera supprimée dans une prochaine version.

Cela signifie ne pas utiliser le format « format $ » tel qu'il est utilisé dans le

$worksheet->write('F6',"LANGUAGE",$format);

Regroupez format d'une cellule fusionnée pour d'autres pour la cellule non fusionnée.

Le problème sera résolu.

+0

Merci beaucoup, vous économisez ma journée :) –

Questions connexes