it-swarm.com.de

Lesen Sie Excel-Daten mit JQuery

Ich möchte wissen, wie man Daten aus einer MS Excel 2003-Datei mit mehreren Arbeitsblättern mit nichts außer jquery liest. Ich habe verschiedene Lösungen für PHP/JQuery, ActiveX usw. gelesen, aber ich möchte es mit JQuery ONLY machen. Irgendeine Idee, wie das funktionieren könnte?

Ich habe http://plugins.jquery.com/project/csv2table gefunden, und dies erledigt den Job fast perfekt, außer dass ich jedes Blatt in eine CSV-Datei aufteilen muss. Ich möchte diesen Schritt fallen lassen und direkt aus der Excel-Datei lesen. Vielen Dank im Voraus für Ihre Hilfe!

Übrigens - Ich arbeite mit FireFox 4 und brauche keine Browserübergreifende Unterstützung.

16
Robert Fleming

Office-Webkomponenten stellen über JavaScript (oder vb) eine API für Excel-Dokumente bereit. Sie sind schlecht dokumentiert, aber für Intranet-Anwendungen können sie die Arbeit erledigen. Ich habe sie für die Pivot-Table-Funktionalität in IE6 verwendet und weiß nicht, ob es mit Firefox funktioniert. 

http://en.wikipedia.org/wiki/Office_Web_Components

http://www.Microsoft.com/downloads/de/details.aspx?FamilyID=beb5d477-2100-4586-a13c-50e56f101720&DisplayLang=de

8
jason saldo

Tatsächlich ist dies ohne OWC und solche exotischen Add-Ins möglich, aber manuelle Arbeit ist erforderlich. Eine andere Sache - dies ist nur auf lokalem Computer möglich - erwartet nicht, dass Ihr Arbeitsblatt wie ein Webserver wirkt. Eine andere Möglichkeit besteht darin, sie auf einer Netzwerkfreigabe einzurichten, aber ich bin nicht sicher, wie das alles in der Sandbox funktionieren wird.

EDIT: Ich weiß, dass die Frage das Format von Excel 2003 betraf. Es gibt jedoch immer noch Google-Anfragen zu derselben Funktionalität, und heutzutage werden MS Office-Versionen 2010/13 verwendet. Daher glaube ich die Antwort kann für den Leser von Vorteil sein.

Hier ist es also:

  1. Mit Zip.js können Sie gezippte Dateien öffnen. Das bedeutet, dass Sie MS Office-Dateien ab Office 2007 öffnen können (.docx, .xlsx. Etc). Ältere Office-Dateien haben ein benutzerdefiniertes Format und Sie können sie nicht als gezippte Dateien lesen.
  2. Nach dem Öffnen der Datei steht eine hierarchische Ordnerstruktur mit verschiedenen Dateien zur Verfügung. Die Daten selbst befinden sich in /xl/worksheets/[worksheet name].xml und /xl/sharedStrings.xml, was bedeutet, dass Sie sie mit Hilfe des XML-Parsers herausgreifen und anschließend korrelieren müssen.
  3. Zum Glück ist ein XML-Parser in jQuery verfügbar: $.parseXML('...')

Habe Spaß ;)

Mir ist klar, dass diese Frage alt ist, aber ich habe einen grundlegenden Parser, der die meisten der von Ihnen gestellten Fragen unterstützt: http://oss.sheetjs.com/js-xls/

3
SheetJS

Es gibt ein paar Tools (Bibliotheken) für nodeJS, die Sie auf der npm-Website finden können. Es gibt eines mit dem Namen Excel, das xlsx-Dateien liest, und es gibt eines, das für die meisten MS-Office-Dateien als office bezeichnet wird. Jetzt seit Es ist sowieso alles Javascript, Sie sollten in der Lage sein, herunterzuladen und die Quelle zu überprüfen, um eine Möglichkeit zu finden, es auf der Clientseite zu integrieren.

0
Naman Goel