Laravel-excel: Perd tout style lors de l'exportation avec une taille de police ?

Créé le 17 févr. 2017  ·  3Commentaires  ·  Source: Maatwebsite/Laravel-Excel

Veuillez préfixer votre problème avec l'un des éléments suivants : [BOGUE] [PROPOSITION] [QUESTION].

Version paquet, version Laravel

Paquet : 2.1
Laravel : 5,3

Comportement attendu

Exporter un fichier xlsx avec une taille de police plus grande pour une cellule

Comportement réel

Perdre tout style

Étapes pour reproduire le comportement

<table>
    <tbody>
        <tr>
            <td colspan="5" style="text-align: center; font-size: 18px; background: #000000; color: #76933C; font-weight: bold;">Test</td>
        </tr>
    </tbody>
</table>

Si je supprime la taille de police: 18px, j'obtiens un fichier avec le reste du style sur cette cellule, si j'ajoute la taille de police: 18px, j'obtiens une erreur lors de l'ouverture du fichier Excel qui dit :

« Nous avons trouvé un problème avec du contenu dans 'example.xlsx'. Voulez-vous que nous essayions de récupérer autant que possible ? »

Cliquer sur oui l'ouvre, mais sans style.

C'est dans Microsoft Office Plus 2016

Commentaire le plus utile

Vous pouvez le réparer en ne lui donnant pas une unité comme celle-ci

<table>
    <tbody>
        <tr>
            <td colspan="5" style="text-align: center; font-size: 18; background: #000000; color: #76933C; font-weight: bold;">Test</td>
        </tr>
    </tbody>
</table>

référence : https://github.com/PHPOffice/PHPExcel/issues/1201

Tous les 3 commentaires

Je suis incapable de reproduire cela.

Vous pouvez le réparer en ne lui donnant pas une unité comme celle-ci

<table>
    <tbody>
        <tr>
            <td colspan="5" style="text-align: center; font-size: 18; background: #000000; color: #76933C; font-weight: bold;">Test</td>
        </tr>
    </tbody>
</table>

référence : https://github.com/PHPOffice/PHPExcel/issues/1201

Pareil pour moi. Le problème est que cela ne fonctionne pas avec px. Non seulement les styles en ligne, mais aussi le fichier css externe. Le contournement, fourni par mrclronald, ne fonctionne que pour les fichiers Excel, mais pas pour l'interface utilisateur. De plus, si cela fonctionne, je ne souhaite pas utiliser le style en ligne à tous les endroits dont j'ai besoin.
si j'écris en css externe : td { width:200px } - les colonnes sont devenues 0 px de large dans le fichier excel et 200px de large dans l'interface utilisateur. Sinon, si j'utilise un style comme celui-ci : td { width:200 } - les colonnes deviennent très larges dans Excel et auto dans l'interface utilisateur

De plus, si vous utilisez "px" dans votre style, le fichier Excel s'ouvre avec un message de récupération et d'erreur :
Partie supprimée : partie /xl/styles.xml avec erreur XML. (Styles) Erreur de chargement. Ligne 2, colonne 0.
Enregistrements réparés : informations sur les cellules de la partie /xl/worksheets/sheet1.xml

Version PHP : 7.1.13
Version Laravel : 5.6.15
Version du paquet : 2.1.27

Cette page vous a été utile?
0 / 5 - 0 notes