25 Jul 2013

Conserver les "line-breaks" de HTML vers Excel (sans rangée additionnelle)

Voici un problème fréquent: on veut importer un tableau HTML vers Excel sans que Excel interprète les tags de retour de chariot <BR> comme un changement de rangée - rendant impossible les fonctions d'ordonnancement et de filtration. Selon moi, le fait de pas avoir de flexibilité à cet égard à partir de l'interface usager de Excel est un bug!

La solution la plus simple est d'ajouter un style spécifique à Microsoft (dans le fichier HTML) comme suit:

<html>... <style> br { mso-data-placement:same-cell; } </style> ...</html>

Merci à Michu (24/7 dev & coffee blog) pour le tuyau!

Ref: Generating Excel files from web - line breaks in cells 

Thanks to Michu for the great tip... Initial text copied here for convenience...

Generating Excel files from web - line breaks in cells

...I needed to wrap text in cell, but when I put tag into HTML output, Excel interpreted it as a new row, not a line-break in existing cell. The solution I found is to add into a stylesheet:
    br {mso-data-placement:same-cell;}