Maison >développement back-end >Tutoriel Python >Exemple de package Python openpyxl pour exploiter des fichiers xlsx
Ce qui suit est un exemple du package openpyxl qui utilise python pour gérer les fichiers xlsx. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Venez jeter un œil ensemble
La bibliothèque d'extensions Python openpyxl peut exploiter les fichiers xlsx de version 07 ou supérieure. Vous pouvez créer un classeur, sélectionner la feuille de calcul active, écrire des données de cellule, définir la couleur de la police des cellules, le style de bordure, fusionner des cellules, définir l'arrière-plan des cellules, etc.
Besoin d'ajouter des couleurs pouvant entrer dans le répertoire d'installation du package
your_pthon_path/site-packages/openpyxl/styles
Modifier les couleurs Fichier .py Les
COLOR_INDEX = ( '00000000', '00FFFFFF', '00FF0000', '0000FF00', '000000FF', #0-4 '00FFFF00', '00FF00FF', '0000FFFF', '00000000', '00FFFFFF', #5-9 '00FF0000', '0000FF00', '000000FF', '00FFFF00', '00FF00FF', #10-14 '0000FFFF', '00800000', '00008000', '00000080', '00808000', #15-19 '00800080', '00008080', '00C0C0C0', '00808080', '009999FF', #20-24 '00993366', '00FFFFCC', '00CCFFFF', '00660066', '00FF8080', #25-29 '000066CC', '00CCCCFF', '00000080', '00FF00FF', '00FFFF00', #30-34 '0000FFFF', '00800080', '00800000', '00008080', '000000FF', #35-39 '0000CCFF', '00CCFFFF', '00CCFFCC', '00FFFF99', '0099CCFF', #40-44 '00FF99CC', '00CC99FF', '00FFCC99', '003366FF', '0033CCCC', #45-49 '0099CC00', '00FFCC00', '00FF9900', '00FF6600', '00666699', #50-54 '00969696', '00003366', '00339966', '00003300', '00333300', #55-59 '00993300', '00993366', '00333399', '00333333', 'System Foreground', 'System Background' #60-64 '00D2B48C', '0087CEFA', '0000BFFF' #自己添加的 )
suivants peuvent être sous la forme d'un code couleur 00+16 RVB
Un code que j'ai écrit pour générer des fichiers xlsx :
#!/usr/bin/env python #-*- coding: utf-8 -*- import openpyxl from openpyxl import Workbook from openpyxl.styles import colors,Font,Border,Side,PatternFill,Alignment wb = Workbook() #创建工作簿 ws = wb.active #激活工作簿 ws.merge_cells('C3:E3') #合并单元格 ws.merge_cells('C4:E4') ws.merge_cells('C20:I20') ws.merge_cells('C21:I21') left, right, top, bottom = [Side(style='thin', color='000000')]*4 #设置单元格边框属性 border = Border(left=left, right=right, top=top, bottom=bottom) #设置单元格边框格式 fill1 = PatternFill(start_color = 'FFFF00', end_color = 'FFFF00', fill_type = 'solid') #设置单元格背景色 fill2 = PatternFill(start_color = 'D2B48C', end_color = 'D2B48C', fill_type = 'solid') fill3 = PatternFill(start_color = '00BFFF', end_color = '00BFFF', fill_type = 'solid') fill4 = PatternFill(start_color = 'FF0000', end_color = 'FF0000', fill_type = 'solid') align1 = Alignment(horizontal='center', vertical='center') #设置文本对齐 align2 = Alignment(horizontal='left', vertical='center') for i in range(3,22): for col in 'CDEFGHIJK': ws[col+str(i)].border = border #给每个单元格设置相应的格式 #ws[col+str(3)].fill = fill1 #ws[col+str(i)].alignment = align for col in 'CDEFGHIJK': ws[col+str(3)].fill = fill1 ws[col+str(20)].fill = fill3 ws[col+str(21)].fill = fill4 for i in range(4,20): ws[col+str(i)].fill = fill2 for col in 'CDEFGHIJK': ws[col+str(3)].alignment = align1 for i in range(4,22): for col in 'CDE': ws[col+str(i)].alignment = align2 for col in 'CDEFGHIJK': ws[col+str(3)] = 'test1' #单元格赋值 for i in range(3,22): for col in 'CDE': if i in range(5,20) and col == 'C': pass else: ws[col+str(i)] = 'test2' for i in range(4,20): for col in 'EFGHIJK': ws[col+str(i)] = 50 for i in range(20,22): for col in 'JK': ws[col+str(i)] = 100 wb.save('test.xlsx') #保存文件
Les polices de cellules, etc. peuvent également être définies à l'aide du modules correspondants.
Recommandations associées :
Ajouter des lignes dans le tableau à l'aide de python
Lire et écrire des données dans Excel à l'aide de python
Exemple d'exportation de données Python vers Excel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!