2014-02-07 8 views
6

Ich versuche xlwt zu verwenden, um eine Ausgabedatei (im XLSX-Format) mit mehreren Registerkarten zu erstellen. Die Versionsnummer meines Python ist 2.7, und ich verwende Aptana Studio 3 als IDE.Python xlwt fehlerhaftes Excel-Buch erstellen

Ich habe das xlwt Paket zuvor mit der gleichen Umgebung verwendet, um die gleiche Aufgabe auszuführen. Es hat gut funktioniert. Aber dieses Mal funktioniert es zunächst gut, dann wurde plötzlich die Ausgabedatei fehlerhaft, die von MS Excel nicht geöffnet werden kann.

Hier ist ein Hinweis, der hilfreich sein könnte. Mein Aptana Studio 3 entscheidet sich dafür, .xlsx in einem eigenen Editor zu öffnen, anstatt MS Excel zu starten. Obwohl dies vor dem Problem passiert, frage ich mich, ob es verwandt ist.

Die Datei sieht normal aus, wenn es in Aptana3 geöffnet ist, aber wenn ich es geschlossen und öffnen Sie sie mit MS Excel, eine Fehlermeldung erscheint: "Excel cannot open the file "output.xlsx" because the file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file."

Darf ich weiß, wie ich darüber hinwegkommen kann? Irgendwelche Vorschläge sind willkommen. Vielen Dank.

+0

Willst du damit sagen, dass die '.xlsx' Dateien beim ersten Öffnen gut funktionieren, aber später korrupt werden? Wenn ja, können Python und 'xlwt' nichts mit dem Problem zu tun haben. – senshin

+0

@senshin Ich bin mir nicht sicher, was los ist. Die .xlsx-Datei funktionierte gut, wenn ich sie mit MS Excel und Editor von Aptana 3 öffne. Aber nach einigen Durchläufen meiner Anwendung kann die Datei nur mit Aptana 3 geöffnet werden, und es sieht normal aus. Aber, wenn ich es mit MS Excel öffne, erscheint ein Fehlerfenster und sagt, dass "Excel die Datei" output.xlsx "nicht öffnen kann, weil das Dateiformat oder die Dateierweiterung ungültig ist. Stellen Sie sicher, dass die Datei nicht beschädigt wurde und dass Die Dateierweiterung stimmt mit dem Format der Datei überein. " – ChangeMyName

+0

Soweit ich weiß, 'xlwt' unterstützt' .xlsx' Dateien (noch nicht?), Nur '.xls'? – Steven

Antwort

10

Das Modul xlwt kann keine .xlsx Dateien erstellen. Es ist ein Schriftsteller für .xls Dateien.

Die Warnung ist auf eine Funktion in neueren Versionen von Excel namens "extension hardening" zurückzuführen, die bedeutet, dass die Dateierweiterung dem Dateityp entsprechen muss.

Wenn Sie die Ausgabedateierweiterung in Ihrem Programm zu .xls ändern, sollte die Warnung verschwinden und Excel wird die Datei lesen.

Verwandte Themen