Frage

Ich versuche, ein kleines Web-Tool zu schreiben, die eine Excel-Datei nimmt, analysiert den Inhalt und vergleicht dann die Daten mit anderer Datenmenge. Kann dies leicht in JavaScript zu tun? Gibt es eine JavaScript-Bibliothek, die dies tut?

War es hilfreich?

Lösung

Wie würden Sie eine Datei in JavaScript in erster Linie laden?

Darüber hinaus ist Excel ein proprietäres Format und komplex genug, dass Server-Side-Bibliotheken mit den Jahren in der Entwicklung (wie Apache POI ) noch nicht gelungen, zu 100% korrekt umgekehrt diese Microsoft-Formate Ingenieur.

So denke ich, dass die Antwort ist, dass Sie nicht können.

Update: Das ist in reinem JavaScript

.

Update 2: Es ist nun möglich, Dateien in JavaScript zu laden: https://developer.mozilla.org/en-US/docs/DOM/FileReader

Andere Tipps

In den letzten vier Jahren gab es viele Fortschritte gegeben. HTML5 File API wird von den großen Browser-Herstellern und Leistungsverbesserungen tatsächlich macht es etwas möglich zu eigen gemacht zu analysieren Excel-Dateien (beide xls und xlsx) im Browser.

Meine Einträge in diesem Raum:

Beide sind reine JS Parser

Um alles in js zu tun, werden Sie ActiveX und wahrscheinlich die Office Web Komponenten als auch verwenden. Nur ein Vorschlag, aber Sie wollen wahrscheinlich nicht diesen Weg zu gehen; es wird nur ineffizient und IE / Win sein. Sie werden mit einem Server-basierten Lösung besser dran.

Sie müssen ActiveX verwenden (siehe W3C Schulen über die Verwendung von AJAX) und die Datei in dem Hosting-Computer Dataconnectors registrieren (nur der Computer die Datei-Hosting). Im Gegensatz zu früher erwähnte, ist diese Methode nicht Microsoft-Plattform abhängig (für die Kunden sowieso), und Sie brauchen keine Office-Komponenten installiert sein.

Dies kann für die meisten Datendateien registriert in Windows durchgeführt werden, einschließlich der MDB-Blöcke und ermöglicht es Ihnen so viel Kontrolle wie Sie wollen, wie Sie verschiedene Windows-Konten für verschiedene Zwecke zuweisen können.

Wie ich schon sagte, das alles ist server und hat keine Auswirkungen auf dem Client, abgesehen von vielleicht Abrufen von Anmeldeinformationen, Aktionen und so weiter.

Diese Methode verwendet JavaScript, SQL (nein, nicht einmal MSSQL, nur SQL-Standard) und erfordert nur, dass der Hosting-Computer all Microsoft NT-Plattform ausgeführt wird.

Was Windows-dataconnectors tun ist, eine generalisierte Schnittstelle für verschiedene Datenkomponenten bieten viel wie DirectX funktioniert für Grafikkarten und andere Peripheriegeräte. Sie können es auch verwenden, um eine MDB (Microsoft Access) zu einem MySQL-Server und Feed-Daten zu verknüpfen leben diese Weise, was ich glaube, ist noch einfacher als XLS-Tabellen mit ... vor allem, da Sie XLS in MDB importieren können.

Haben Sie wirklich benötigen eine Excel-Datei? Warum nicht Excel verwenden, um die Daten im CSV oder XML exportiert werden und dass laden?

Das Excel-Dateiformat ist sehr spezifisch für Excel-Implementierung. Wenn Sie nur die Daten benötigen, verwenden Sie ein Dateiformat, das nur die Daten enthält.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top