🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

erstellen von Microsoft Excel Mappen mit Python3 und XlsxWriter – Zellenformatierungen (Teil2)

Posted on 23. Juni 20201. Mai 2023 by Stefan Draeger

Im ersten Teil habe ich dir gezeigt wie du eine Microsoft Excel Mappe erstellst und Daten formatierst ablegst. In diesem Beitrag werde ich dir nun die verschiedenen Formatierungsmöglichkeiten von Zellen zeigen.

Du benötigst für diesen Beitrag eine installierte Version der Bibliothek XlsxWriter sowie Python3. Wie du die Bibliothek mit „pip“ installierst und diese Installation testest habe ich dir bereits im ersten Teil gezeigt.

  • Schriftart & Style
    • Schriftart, Schriftgröße und Farbe
    • Schriftfarbe
  • Rahmen
  • Farben
    • Hintergrundfarbe 
      • definieren der Hintergrundfarbe über einen Namen
      • definieren der Hintergrundfarbe über einen Hexadezimal Wert
  • Bedingteformatierungen

Schriftart & Style

Zunächst zeige ich dir die verschiedenen Möglichkeiten wie du Texte stylen kannst.

import xlsxwriter

#erstellen eines Workbook Objektes mit dem Dateinamen "testMappe.xlsx"
workbook = xlsxwriter.Workbook('testFormatMappe.xlsx')

#erstellen eines Tabellenblattes mit dem
#Namen "Tabellenname"
worksheet = workbook.add_worksheet('Tabellenname')

#erstellen des Zellenformates für Fett-Schrift
boldCellFormat = workbook.add_format()
boldCellFormat.set_bold()

#erstellen des Zellenformates für Kursiv-Schrift
italicCellFormat = workbook.add_format()
italicCellFormat.set_italic()

#erstellen des Zellenformates für Unterstrichene-Schrift
underlineCellFormat = workbook.add_format()
underlineCellFormat.set_underline()

#erstellen des Zellenformates für Fett, Kursiv und Unterstrichene-Schrift
multiCellFormat = workbook.add_format()
multiCellFormat.set_bold()
multiCellFormat.set_italic()
multiCellFormat.set_underline()

#schreiben eines Textes in die Zelle mit einem Zellenformat
worksheet.write('A1', 'Hier steht ein fetter Text.', boldCellFormat)
worksheet.write('A3', 'Hier steht ein kursiver Text.', italicCellFormat)
worksheet.write('A5', 'Hier steht ein unterstrichener Text.', underlineCellFormat)
worksheet.write('A7', 'Hier steht ein fetter, kursiver und unterstrichener Text.', multiCellFormat)

#schließen des Workbooks
workbook.close()
Schriftformatierung mit XlsxWriter und Python3 in einer Microsoft Excel Mappe
Schriftformatierung mit XlsxWriter und Python3 in einer Microsoft Excel Mappe

Schriftart, Schriftgröße und Farbe

Bei der Schriftart würde ich empfehlen auf die von Microsoft Excel mitgelieferten zurück zu greifen denn ansonsten müßte die zusätzliche Schriftart ggf. mit der Mappe mitgeliefert werden.

import xlsxwriter

#erstellen eines Workbook Objektes mit dem Dateinamen "testMappe.xlsx"
workbook = xlsxwriter.Workbook('testFormatMappe.xlsx')

#erstellen eines Tabellenblattes mit dem
#Namen "Tabellenname"
worksheet = workbook.add_worksheet('Tabellenname')

#Zellenformat mit Schriftart "Verdana" und Schriftgröße 12
verdana12fontCellFormat = workbook.add_format()
verdana12fontCellFormat.set_font_name('Verdana')
verdana12fontCellFormat.set_font_size(12)

#Zellenformat mit Schriftart "Arial" und Schriftgröße 18
arial18fontCellFormat = workbook.add_format()
arial18fontCellFormat.set_font_name('Arial')
arial18fontCellFormat.set_font_size(18)

#Zellenformat mit Schriftart "Times New Roman" und Schriftgröße 22
timesNewRoman22fontCellFormat = workbook.add_format()
timesNewRoman22fontCellFormat.set_font_name('Times New Roman')
timesNewRoman22fontCellFormat.set_font_size(22)

worksheet.write('A1', 'Hier ein Text in Verdana, Schriftgröße 12.', verdana12fontCellFormat)

worksheet.write('A3', 'Hier ein Text in Arial, Schriftgröße 18.', arial18fontCellFormat)

worksheet.write('A5', 'Hier ein Text in Times New Roman, Schriftgröße 22.', timesNewRoman22fontCellFormat)

#schließen des Workbooks
workbook.close()
Texte mit individueller Schriftart und Größe
Texte mit individueller Schriftart und Größe

Schriftfarbe

Um dem Text bzw. den Wert einer Zelle eine Farbe zuzuweisen müssen wir unserem Zellenformat lediglich die Farbe mit der Funktion „set_font_color“ übergeben. Eine Liste an möglichen Farbwerten findest du im Abschnitt „Hintergrundfarbe“ in diesem Beitrag.

import xlsxwriter

#erstellen eines Workbook Objektes mit dem Dateinamen "testMappe.xlsx"
workbook = xlsxwriter.Workbook('testFormatMappe.xlsx')

#erstellen eines Tabellenblattes mit dem
#Namen "Tabellenname"
worksheet = workbook.add_worksheet('Tabellenname')

#Schriftfarbe "rot"
redFontColorCellFormat = workbook.add_format()
redFontColorCellFormat.set_font_color('red')

worksheet.write('C3', 'Ein kurzer Text.', redFontColorCellFormat)

#schließen des Workbooks
workbook.close()
Excel Mappe mit rotem Text
Excel Mappe mit rotem Text

Rahmen

In diesem Abschnitt zeige ich dir nun wie du einen Rahmen um eine Zelle erstellen kannst.

import xlsxwriter

#erstellen eines Workbook Objektes mit dem Dateinamen "testMappe.xlsx"
workbook = xlsxwriter.Workbook('testFormatMappe.xlsx')

#erstellen eines Tabellenblattes mit dem
#Namen "Tabellenname"
worksheet = workbook.add_worksheet('Tabellenname')

#Zellenformat für einen kompletten Rahmen
borderCellFormat = workbook.add_format()
borderCellFormat.set_border()

#Zellenformat für einen Rahmen mit nur oben & unten
bottomTopBorderCellFormat = workbook.add_format()
bottomTopBorderCellFormat.set_bottom()
bottomTopBorderCellFormat.set_top()

#Zellenformat für einen farbigen Rahmen
borderColorCellFormat = workbook.add_format()
borderColorCellFormat.set_border()
borderColorCellFormat.set_top_color('red')
borderColorCellFormat.set_bottom_color('blue')
borderColorCellFormat.set_left_color('green')
borderColorCellFormat.set_right_color('black')

worksheet.write('C3', 'Ein kurzer Text.', borderCellFormat)

worksheet.write('C5', 'Ein kurzer Text.', bottomTopBorderCellFormat)

worksheet.write('C7', 'Ein kurzer Text.', borderColorCellFormat)


#schließen des Workbooks
workbook.close()
Zellenrahmen definieren
Zellenrahmen definieren

Farben

Farben können an Text, Zellenhintergrund individuell gesetzt werden (wie in Excel auch). 

Hintergrundfarbe

Zunächst setzen wir die Hintergrundfarbe einer Zelle. Wir können zum einen Namen für die Farbwerte wählen und zum anderen Hex Werte

Zulässige Werte für Namen sind: 

  • black
  • blue
  • brown
  • cyan
  • gray
  • green
  • lime
  • magenta
  • navy
  • orange
  • pink
  • purple
  • red
  • silver
  • white
  • yellow

Die Hex Werte kann man zbsp. über die Webseite https://www.color-hex.com/ entnehmen.

definieren der Hintergrundfarbe über einen Namen

#Hintergrundfarbe mit einem Namen definieren
redBgColorCellFormat = workbook.add_format()
redBgColorCellFormat.set_bg_color('red')

definieren der Hintergrundfarbe über einen Hexadezimal Wert

#Hintergrundfarbe mit einem Hex Wert definieren
greenBgColorCellFormat = workbook.add_format()
greenBgColorCellFormat.set_bg_color('#9ea257')
Excel - Zellen mit Hintergrundfarbe
Excel – Zellen mit Hintergrundfarbe

Bedingteformatierungen

Nachdem ich nun gezeigt habe wie man an einer Zelle einen bestimmten Farbwert setzt möchte ich nun gerne zeigen wie du einen von dem Zellenwert abhängigen Farbwert setzt. Dieses kannst du mit einer Bedingtenformatierung erledigen. 

Zunächst erstellen wir uns eine Tabelle mit verschiedenen Zellenwerten (Zahlen und Buchstaben)

import xlsxwriter

#erstellen eines Workbook Objektes mit dem Dateinamen "testMappe.xlsx"
workbook = xlsxwriter.Workbook('testBedFormatMappe.xlsx')
worksheet = workbook.add_worksheet('Tabellenname')

#eine mehrdimensionale Liste mit Namen, Geschlecht und Alter
personen = [['Max Mustermann','m', 32], ['Erika Müller','w', 23], ['Roman Tisch', 'm', 45], ['Birgit Gross', 'w', 67]]

#schreiben der Tabellenköpfe
worksheet.write('A1', 'Name')
worksheet.write('B1', 'Geschlecht')
worksheet.write('C1', 'Alter')

#Variable zum speichern der Zeilennummer
row = 2;
#die mehrdimensionale Liste durchlaufen
for name, gender, age in personen:
    #schreiben der Werte in die Tabelle
    worksheet.write('A'+str(row), name)
    worksheet.write('B'+str(row), gender)
    worksheet.write('C'+str(row), age)
    row = row + 1

#erzeugnen eines Zellenformates für das Geschlecht "weiblich (w)"
redColor = workbook.add_format()
redColor.set_bg_color('#ffb2b2')

#erzeugen eiens Zellenformates für das Geschlecht "männlich (m)"
blueColor = workbook.add_format()
blueColor.set_bg_color('#ccccff')
    
#setzen einer Bedingtenzellenformatierung in dem Bereich B2 bis B-Zeilenende
#wenn der Zellenwert "w" ist
worksheet.conditional_format('B2:B'+str(row), 
                             {'type':     'cell',
                              'criteria': '==',
                              'value':    '"w"',
                              'format':   redColor})

#setzen einer Bedingtenzellenformatierung in dem Bereich B2 bis B-Zeilenende
#wenn der Zellenwert "m" ist
worksheet.conditional_format('B2:B'+str(row), 
                             {'type':     'cell',
                              'criteria': '==',
                              'value':    '"m"',
                              'format':   blueColor})

#die Spalte alter wird mit einem farbigen Wert versehen welcher von Grau bis Rot reicht.
worksheet.conditional_format('C2:C'+str(row), 
                            {'type': '2_color_scale',
                             'min_color': 'gray',
                             'max_color': 'red'})

#schließen des Workbooks
workbook.close()
Bedingteformatierung in einer Excel Tabelle
Bedingteformatierung in einer Excel Tabelle

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb