2017-01-21 2 views
1

ich diesen Beitrag sah ein Blatt mit xlutils.copy anhängen:Fügen Sie ein Blatt in eine vorhandene Datei mit Excel openpyxl

https://stackoverflow.com/a/38086916/2910740

Gibt es eine Lösung, die openpyxl verwendet nur?

+0

Können Sie bitte genauer über das, was Sie tun möchten? –

+0

Ich habe eine Excel-Datei, die mehrere Blätter enthält, ich möchte ein neues Blatt am Ende der Datei hinzufügen und einige Daten einfügen. –

+0

Klingt so, als müssten Sie nur die openpyxl-Dokumentation lesen. –

Antwort

-1

Ich würde empfehlen, Daten in einer CSV-Datei zu speichern, die ein ubiquitäres Dateiformat ist, das speziell zum Speichern von Tabellendaten erstellt wurde. Excel unterstützt es vollständig, ebenso wie die meisten quelloffenen Excel-Programme.

In diesem Fall ist es so einfach wie das Öffnen einer Datei, um es anzuhängen, anstatt zu schreiben oder lesen:

with open("output.csv", "a") as csvfile: 
    wr = csv.writer(csvfile, dialect='excel') 
    wr.writerow(YOUR_LIST) 

Was Openpyxl:

end_of_sheet = your_sheet.max_row 

zurückkehren wird, wie viele Zeilen Ihr Blatt ist so, dass Sie danach mit dem Schreiben beginnen können.

+0

Vielen Dank, aber ich muss Daten in Excel speichern. Ich muss auch die neuen Daten an das neue Blatt anhängen. –

0

Ich fand eine Lösung. Es war sehr einfach:

def store_excel(self, file_name, sheet_name): 
    if os.path.isfile(file_name): 
     self.workbook = load_workbook(filename = file_name) 
     self.worksheet = self.workbook.create_sheet(sheet_name) 
    else: 
     self.workbook = Workbook() 
     self.worksheet = self.workbook.active 
     self.worksheet.title = time.strftime(sheet_name) 
    . 
    . 
    . 
    self.worksheet.cell(row=row_num, column=col_num).value = data 
Verwandte Themen