2016-10-28 3 views
0

J'utilise Workbook gem pour prévisualiser le fichier Excel sans sauts de page sur mon site. En ce moment, je réussis à extraire le fichier Excel et à l'écrire au format html et l'afficher en tant qu'aperçu.Workbook gem - comment écrire l'Excel au format HTML de manière formatée?

Les extraits de code suivant et écrit Excel en HTML:

excel_file = Workbook::Book.open "#{file_url}" 
excel_file.write_to_html(file_name + ".html") 

Mais cela me donne une feuille html non formaté sans lignes et de colonnes ou tout du fichier Excel existant. Selon la documentation de murb/classeur, il est dit que nous pouvons passer le format comme un hachage dans ses options.

write_to_html(filename = "#{title}.html", options = {}) 

Ainsi, pour obtenir le hachage de format, j'ai essayé le code suivant:

excel_file.template.formats 

Mais retourne un hachage nul. Alors, comment puis-je obtenir tous les formats du fichier Excel et écrire en HTML? Ou au moins afficher la table html avec des bordures pour toutes les lignes et colonnes.

Répondre

0

L'auteur ici. La gemme Workbook est principalement construite pour extraire et représenter les données dans des fichiers, et pas tellement le formatage. Dans le passé, j'ai fait quelques tentatives sur l'ajout de support pour maintenir le formatage lors de la conversion, mais il est loin d'être terminé. Certains importateurs ne définissent même pas le hachage de mise en forme comme vous l'avez découvert, notamment l'importateur xlsx a besoin de travailler dessus.

Le code HTML a été conçu pour donner un aperçu de base des données. Il renvoie essentiellement une page html avec toutes les tables qui est par défaut non formaté, bien que les noms de format soient utilisés dans les classes. Il y a une option cependant, si vous passez style_with_inline_css: true ... mais alors il faut qu'un importateur mette correctement le hash de format ...

Je suis heureux de vous guider ici et là quand vous voulez améliorer le code de l'importateur xlsx en fonction de vos besoins et j'espère que la gemme de classeur en général, mais il faudra travail sérieux si vous voulez plus que quelques couleurs de fond et les propriétés de police.