2009-04-14 5 views
4

Öffnen erzeuge ich eine Excel-Datei in dem folgenden Beitrag mit Hilfe von XML-Format auf Stackoverflow skizziert: Generate excel file in .netNachricht Warnung, wenn eine generierte Excel-Datei in Office 07

Allerdings, wenn ich es in Excel öffnen, 07, erhalte ich die folgende Meldung:

die Datei, die Sie versuchen, zu öffnen, „blah.xls“, ist in einem anderen Format als durch die Dateierweiterung spefied. Überprüfen Sie, dass die Datei i Rotot beschädigt ist und von einer vertrauenswürdigen Quelle vor die Datei geöffnet ist. Möchten Sie jetzt die Datei öffnen?

Was verursacht die Fehlermeldung und wie kann ich sie loswerden? Vielen Dank!

Antwort

4

Versuchen Sie, die Datei blah.xlsx anstelle von blah.xls aufzurufen. Excel möchte anscheinend, dass XML-Dateien die Erweiterung "xlsx" haben. Die Erweiterung "xls" bezieht sich auf die Dateien im Binärformat.

bearbeiten als Antwort auf Ihren Kommentar:
Ich war falsch: xlsx Dateien sind nicht nur die XML-Dateien, sie sind in zip-Archiven das XML-Format und andere Metadaten enthält. Alles in allem ist es etwas komplex einzurichten. Ich würde versuchen, die Datei in blah.xml umbenennen und sehen, ob das funktioniert. Ansonsten habe ich Angst, dass Sie vielleicht schauen müssen, wie diese Zip-Dateien erstellt werden. Es gibt zwei Optionen:

  • Verwenden Sie Microsoft OOXML SDK: siehe http://msdn.microsoft.com/en-us/library/bb448854.aspx.
  • Do it yourself (viel härter). Sie müssen sich die OOXML standard ansehen. Teil 1 enthält eine Übersicht und eine Beschreibung jeder XML-Datei. Teil 2 beschreibt das Paketformat (d. H. Das Zip-Archiv-Format). Es gibt zusätzliche Anforderungen an xlsx Dateien über das, was Teil 2 sagt, dass Sie benötigen, so lesen 2 Teil zuerst, dann Teil 1.
+2

Wenn ich .xlsx Erweiterung, bekomme ich eine andere Fehlermeldung: Excel kann die Datei blah.xlsx nicht öffnen, weil die Datei oder das Format oder die Dateierweiterung nicht gültig ist ... ohne Optionen zum Öffnen der Datei überhaupt – laconicdev

+0

Arbeitsmappe in diesem Kommentar: http://stackoverflow.com/questions/150339/generating-an-excel-file-in-asp-net/150368#150368 funktioniert richtig für mich mit einer xlsx-Erweiterung. Ist es möglich, dass die Datei, die Sie öffnen möchten, ein nicht übereinstimmendes Tag oder einen anderen Syntaxfehler aufweist? – Doug

+0

Wir könnten auch die Erweiterung "xml" verwenden und ein zusätzliches Tag hinzufügen, um sicherzustellen, dass Excel die Datei öffnet. http://stackoverflow.com/a/1159717/880772 – approxiblue

0

Microsoft Office 2007 auf den Stationen werden die Office-Dateien im XML-Format (Office Open XML-Paket gespeichert). Frühere Versionen (2003 und später) werden nicht als XML-Dateien gespeichert. Sie können also keine Markups von xls-Dateien sehen. Natürlich können Sie das Markup der xlsx-Datei sehen. Sie benötigen keine Redakteure. Wenn WinRar in Ihrem System installiert ist, reicht dies aus, um eine MS-Office-Datei zu öffnen.
Wenn Sie versuchen, es programmgesteuert zu öffnen, erhalten Sie die Datei DocumentFormat.xml.dll (kostenlos) (für .net) und OpenXml4J (für Java).