Utilisation openpyxl pour modifier un Excel2007 fichier (.xlsx) sans changer ses propres styles?
J'ai un .xlsx fichier à éditer, j'ai trouvé openpyxl pourrait manipuler des fichiers Excel 2007.
Je veux seulement changer la valeur dans certaines cellules et laissez les autres paramètres inchangés.
Mais après je suis passé par la La Documentation, je ne trouve pas d'exemples pour modifier un fichier existant. Seulement démontré la lecture d'un .fichier xlsx et de l'écriture d'une nouvelle.
J'ai essayé ci-dessous pour modifier un fichier existant, mais après je l'ai enregistré, les styles dans le fichier a été supprimé( comme les polices, les couleurs):
from openpyxl.reader.excel import load_workbook
wb=load_workbook(r'd:\foo1.xlsx')
ws=wb.get_sheet_by_name('Bar')
ws.cell('A1').value= 'new_value'
# save the workbook to a new file to finish the editing
# but the style settings has been removed (such like font, color) in the new file
wb.save(r'd:\foo2.xlsx')
OriginalL'auteur Xiao | 2011-07-21
Vous devez vous connecter pour publier un commentaire.
Maintenant openpyxl ne peut pas gérer des styles assez bon, alors, j'ai essayé à l'aide de pywin32 COM et ont la solution.
Voici un bon python-excel-mini-livre de recettes à utiliser pywin32 COM pour Excel
OriginalL'auteur Xiao
Styles ne sont pas entièrement pris en charge encore dans openpyxl. Assurez-vous que vous utilisez le la dernière version (1.5.3 dès à présent), comme il l'a récemment amélioré son style capacités.
La xlwt a plus de terminer la mise en forme .les fichiers xls, mais ne prend pas en charge xlsx encore.
COM soi-disant œuvres - et utilise office de l'interface native. Je n'ai pas essayé mais comme il ne fonctionne que sur windows. Bonne chance avec elle!
Est les styles en mesure de conserver après la mise à jour de la colonne avec la nouvelle version?
oui. Le moins commun nommé styles qui ne sont pas encore pris en charge, mais aussi de openpyxl 2.1, la majorité de vos informations de style est conservé (et même modifiable!), y compris ligne/col styles et mise en forme conditionnelle.
OriginalL'auteur Adam Morris
Essayez le code suivant de la création d'une instance de la classe suivante:
de openpyxl importation load_workbook
Classe pour gérer des données excel avec openpyxl
Ne jamais abandonner!!!
Oui avec cette classe, vous pouvez modifier un fichier excel sans en changer le style de la feuille
OriginalL'auteur Heisenberg