Excel-Datei, die mit ExcelLibrary erstellt wurde, kann nicht geöffnet werden

Ich verwende excelLibrary , um Excel-Dateien programmatisch zu erstellen, aber beim Versuch bekomme ich einen Fehler im Dateiformat Öffnen der generierten Dateien in Microsoft Office Excel.

Ich habe dies wurde gemeldet , aber es gibt immer noch keine Antwort darüber.

Ich benutze Office 2010 und bin in der Lage, andere .xls (97-2003 Dateiformat) zu öffnen, aber die mit excelLibrary generierten. Ich habe auch Open Office versucht und kann die generierte Datei immer noch nicht öffnen. Ich habe nicht versucht, sie in Office 97-2003 zu öffnen.

Probieren Sie einfach den Beispielcode aus, um den Fehler zu reproduzieren.

Hat jemand herausgefunden, wie man die Bibliothek benutzt und nicht auf dieses Problem eingeht?

12
Nicht sicher über den Fehler, aber die Bibliothek nicht 2007/2010 Unterstützung, vielleicht etwas Neuere? netoffice.codeplex.com
hinzugefügt der Autor Kane, Quelle
Ich habe eine Lösung gefunden, siehe meine neue Antwort.
hinzugefügt der Autor aleroot, Quelle
Probieren Sie EPPlus aus. Es benötigt .NET 3.5, ist aber großartig und sehr mächtig. Es verwendet OpenOfficeXml.
hinzugefügt der Autor Leslie Godwin, Quelle

3 Antworten

Eine Lösung gefunden:

string filename = "c:\Test.xls";
Workbook workbook = new Workbook();
Worksheet sheet = new Worksheet("Test")
workbook.Worksheets.Add(sheet)

for(int i = 0;i < 100; i++)
      sheet.Cells[i,0] = new Cell("");

workbook.save(filename);

Das Problem besteht darin, dass Office 2010 es nur unterstützt, wenn dies der Fall ist   100 oder mehr Zellen gefüllt.

     

Meine Arbeit bestand darin, 100 Zellen in eine for-Schleife mit "" zu füllen.   Auf diese Weise werden 100 Zellen gezählt und dann funktioniert es gut.

Reference : here

39
hinzugefügt
+1 Super! Ich habe das gesucht, danke!
hinzugefügt der Autor Somebody, Quelle
Danke Mann. Du hast 3 Menschen das Leben gerettet
hinzugefügt der Autor Sayka, Quelle
Das hat funktioniert! Aber das 256-Spalten-Limit ist einfach zu restriktiv (Excel 97?) Schade, ich bevorzuge LGPL-Lizenz gegenüber Apache. Probieren Sie NPOI unten aus.
hinzugefügt der Autor user922020, Quelle

Leider Excel-Datei exportiert mit Excel-Bibliothek sind nicht kompatibel mit Office 2010 Excel, dies ist ein bereits gemeldetes Problem, aber scheint, dass die Bibliothek Entwicklung nicht mehr aktiv ist.

Ich bin zu NPOI gewechselt. NPOI .

5
hinzugefügt
+1 für NPOI, seien Sie sich dessen bewusst, dass die API von NPOI ziemlich ausführlich ist und Sie ständig Dinge erstellen müssen *, insbesondere wenn es um die Formatierung geht. Außerdem sind ihre Namen Abkürzungen wirklich schrecklich, was Intellisense fast nutzlos macht, bis Sie sich daran erinnern, dass das, was Sie wollen, "HSSF" genannt wird.
hinzugefügt der Autor Roman Starkov, Quelle
Ja. Probieren Sie EPPlus aus. Es benötigt .NET 3.5, ist aber großartig und sehr mächtig. Es verwendet OpenOfficeXml.
hinzugefügt der Autor Leslie Godwin, Quelle

Da der Name des Arbeitsblatts nicht korrekt angegeben wurde, wurde dieser Fehler ausgegeben.

Sobald wir dem Blatt einen Namen geben, wird es richtig funktionieren.

1
hinzugefügt