2017-01-09 5 views
-3

http://openpyxl.readthedocs.io/en/default/_modules/openpyxl/workbook/workbook.html?highlight=set%20active%20sheetopenpyxl Aktives Blatt

Die Dokumentation zeigt ein Workbook-Objekt verfügt über eine Eigenschaft active

@property 
def active(self): 
    """Get the currently active sheet""" 
    return self._sheets[self._active_sheet_index] 

@active.setter 
def active(self, value): 
    """Set the active sheet""" 
    self._active_sheet_index = value 

Wenn wb = openpyxl.Workbook() Aufruf wb.active den Titel der Standard ersten Arbeitsblatt geben, die Sheet ist. Angenommen, ich erstelle ein anderes Blatt ws1 = wb.create_sheet('another sheet'), wie ich I "set" dies das aktive Blatt sein?

Die Dokumentation zeigt, dass es einen aktiven "Setter" gibt, der auch als aktiv bezeichnet wird. Es benötigt ein zusätzliches Argument, einen ganzzahligen Indexwert.

Wie funktioniert wb.active(1) nicht funktioniert? Rufe ich nicht die Funktion mit

+0

Mögliches Duplikat von [Python openpyx Select Sheet] (http://stackoverflow.com/questions/36814050/python-openpyxl-select-sheet) –

Antwort

0

Ich bin nicht vertraut mit der ganzen Getter und Setter Sache. Allerdings habe ich die Antwort herausgefunden. Es ist fürchterlich verwirrend für mich, warum es so funktioniert - weil es nicht wie ein typischer Funktionsaufruf aussieht. Auf jeden Fall die „Setter“ verwenden Sie

wb.active = 1

die uh „frisst“ die 1 =) und ändert das aktive Blatt schreiben. Wenn du das schreibst, denkst du, dass mindestens eine andere Person etwas ähnliches fragen kann.