Da es viele Funktionen gibt und es später einfacher ist, sie aufzulisten, werden sie aufgelistet. Das ist nicht alles, weil es nur das ist, was ich selbst benutzt habe. Weitere Informationen finden Sie unter Offiziell.
Mach ein Buch und mach ein Blatt. Danach wird davon ausgegangen, dass dies erfolgt ist.
python
import openpyxl
book = openpyxl.Workbook()
sheet = book.active
python
sheet.name = "Sitzen"
python
try:
book.save("book.xlsx")
except exception as e:
#Berechtigungsfehler beim Öffnen von Excel. Es kann andere geben.
finally:
book.close()
python
import csv
with open("file.csv", "r") as f:
for l in csv.reader(f):
sheet.append(l)
Dieses Beispiel ist beim Ziehen zum Außenumfang der Zelle. Zellenspezifikationen (num_row, num_column) sind R1C1-Nummern (wie unten angegeben)
python
from openpyxl.styles.borders import Side
border = openpyxl.styles.borders.Border()
border.top = Side(style='hair', color='000000')
border.bottom = Side(style='thin', color='ff0000')
border.left = Side(style='thick', color='00ff00')
border.right = Side(style='medium', color='0000ff')
sheet.cell(row=num_row, column=num_column).border = border
Farbe ist ein üblicher hexadezimaler RGB-Wert.
Wenn Sie den vorhandenen Rand beibehalten und nur einen Teil ändern möchten
python
border = copy(sheet.cell(row=num_row, column=num_col).border)
Nachdem Sie den Status der aktuellen Regellinie erhalten haben, ändern Sie ihn mit der obigen.
python
font = openpyxl.styles.fonts.Font()
font.name = 'Schriftartenname'
font.size = 10
font.color = 'deadbeef'
#Spezifische Zelle
sheet.cell(row=num_row, column=num_col).font = font
#Der gesamte eingegebene Wertbereich
for r in sheet:
for c in r:
sheet[c.coordinate].font = font
Die Farbe wird unten hexadezimal abgekürzt.
Es scheint, dass es nicht verwendet werden kann, da es eine interne Funktion von Excel ist, die sich automatisch anpasst. Es scheint, dass die einzige Möglichkeit, es so aussehen zu lassen, darin besteht, aus dem Inhalt der Spalte zu berechnen.
python
column = openpyxl.utils.get_column_letter(num_column)
length = len(sheet.cell(row=num_row, column=num_column)
sheet.column_dimensions[column].width = length * 1.5
Beim Drucken der ersten Zeile mit dem Drucktitel wird die Papierausrichtung als horizontal, die Anzahl der horizontalen Seiten als 1 und die Anzahl der vertikalen Seiten als nicht angegeben angegeben.
python
sheet.print_title_rows = '1:1' #Titelzeile drucken
sheet.page_setup.orientation = 'landscape' #Vertikal'portrait'
sheet.page_setup.fitToWidth = 1
sheet.page_setup.fitToHeight = 0
sheet.sheet_properties.pageSetUpPr.fitToPage = True
Beim Füllen gibt es natürlich auch andere Muster.
paint_cell.py
from openpyxl.styles.fills import (PatternFill, FILL_SOLID)
fill = PatternFill(fgColor='aabbcc', patternType=FILL_SOLID)
sheet.cell(row=num_row, column=num_column).fill = fill
fgColor ist eine Hexadezimalzahl (ry)
Im Falle von Boden und Zentrierung.
python
align = openpyxl.styles.Alignment()
align.horizontal = 'center'
align.vertical = 'bottom'
sheet.cell(row=num_row, column=num_column).alignment = align
Beachten Sie, dass die Zellenspezifikation der Datenbereich ist, für den der Filter gilt. Die Zellenspezifikation ist in diesem Fall im A1-Format.
python
sheet.auto_filter.ref = "B2:D10"
In diesem Fall möchten Sie die Spaltennummer für R1C1 abrufen.
column_number.py
num_column = openpyxl.utils.column_index_from_string('D')
Recommended Posts