2011-01-10 6 views

Antwort

1

Eine XLSX-Datei ist im Wesentlichen eine komprimierte Sammlung von XML-Dateien. Wenn Sie kein geeignetes Juwel finden, können Sie versuchen, sie manuell mit Ruby zu erzeugen, möglicherweise mit einer leeren Vorlage, die Sie in Excel gespeichert haben. Wir haben das gemacht, haben ziemlich gut funktioniert, leider ist dieser Code nicht Open Source.

Aber irgendwann brauchten wir mehr Kontrolle darüber, wie das Ergebnis aussieht, also haben wir eine .NET-basierte Lösung mit Excel-Automatisierung erstellt.

16

Für die Aufgabe des Schreibens/xlsx-Dateien exportieren, ist Axlsx die meisten Feature kompl Ete-Bibliothek, die ich gefunden habe. Das Lesen/Importieren von xlsx-Dateien wird jedoch nicht unterstützt.

https://github.com/randym/axlsx

Hier ist die Beschreibung des Autors:

xlsx Generation mit Grafiken, Bildern, automatische Spaltenbreite, anpassbare Stile und voller Schema-Validierung. Axlsx glänzt bei und hilft Ihnen dabei, schöne Office Open XML-Spreadsheet-Dokumente zu erstellen, ohne die gesamte ECMA-Spezifikation verstehen zu müssen. Schauen Sie sich die README für einige Beispiele an, wie einfach es ist. Das Beste von allem, Sie können validieren Sie Ihre Xlsx-Datei vor der Serialisierung, so dass Sie sicher wissen, dass alles generiert auf dem Client-Rechner geladen wird.

+1

Ich werde auch hinzufügen, dass das Juwel ist [sehr] (http://axlsx.blog.randym.net/) [gut] (https://github.com/randym/axlsx#readme) [dokumentiert] (https : //github.com/randym/axlsx/tree/master/examples) und [aktiv gepflegt] (https://github.com/randym/axlsx/graphs/commit-activity). –

+1

Die Bibliothek ist schreibgeschützt und unterstützt das Lesen vorhandener xlsx-Dateien überhaupt nicht. :-( –

+0

@morganchristiansson Du hast recht. Ich hatte nicht bemerkt, wie ich nur schreiben muss. Sorry für die Verwirrung :( –

0

ich die Schnittstellen aller bestehenden Rubin Excel-Bibliotheken sehr un-rubin wie erwiesen, und besonders ungenau beim Bestimmen von Zelltypen beim Lesen von Dateien. Wenn Sie nach etwas suchen, das (IMO) einfacher ist, habe ich erfolgreich die Kombination simple_xlsx_reader und simple_xlsx_writer verwendet.

Ich bin der Autor von Simple_xlsx_reader, und zum Zeitpunkt dieses Schreibens habe ich keine Tests in Simple_xlsx_reader, die alle Anwendungsfälle für das Lesen von Dateien von Simple_xlsx_writer geltend machen, so kann ich nicht sagen, es wird vollständig unterstützt, Ich kann jedoch sagen, dass ich eine Produktionsanwendung bereitgestellt habe, die beide Bibliotheken ohne Probleme für verschiedene Integrationstests verwendet hat.

1

Roo (https://github.com/roo-rb/roo) ist ein beliebtes Rubin-Juwel, das zum Verwalten und Arbeiten mit Excel- und XLSX-Dateien verwendet wird.

+2

Aus ihrer Readme-Datei geht hervor, dass es sich um einen schreibgeschützten Zugriff handelt. –

0

prüft mit diesem Juwel, ich bin sehr nützlich, jedes schwieriges Format/Layout gem 'axlsx' zu erzeugen, Github: 'randym/axlsx', Zweig: 'Master' und diese Verbindung ist verweisen für Dokumentation axlsx-documentation

Verwandte Themen