Come analizzare un file excel in JavaScript?

Sto provando a scrivere un piccolo strumento web che prende un file di Excel, analizza il contenuto e poi confronta i dati con un altro set di dati. Può questo essere facilmente eseguito in JavaScript? C'è una libreria JavaScript che lo fa?

Come caricare un file in JavaScript in primo luogo?

Inoltre, Excel è un formato proprietario e complesso abbastanza che le librerie laterali del server con anni in fase di sviluppo (ad esempio Apache POI ) non sono ancora riusciti a eseguire correttamente il reverse engineer di questi formati Microsoft.

Quindi penso che la risposta è che non puoi.

Aggiornamento: Questo è nel puro JavaScript.

Aggiornamento 2: È ora ansible caricare i file in JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader

Negli ultimi quattro anni ci sono stati molti avanzamenti. API API HTML5 è stata abbracciata dai principali fornitori di browser e miglioramenti delle performance in realtà rendono un po 'ansible analizzare i file excel (sia xls che xlsx) nel browser.

Le mie voci in questo spazio:

Entrambi sono parser pure-JS

Per fare tutto in js, devi usare ActiveX e probabilmente anche i componenti web di Office. Solo un suggerimento, ma probabilmente non vuoi andare su questa rotta; sarà inefficiente e solo IE / Win. Sarai meglio con una soluzione basata su server.

Dovrai usare ActiveX (vedere W3C Schools sull'utilizzo di AJAX) e registrare il file nei computer host Dataconnectors (solo il computer che ospita il file). A differenza di quanto precedentemente indicato, questo metodo non è dipendente dalla piattaforma Microsoft (per il client comunque) e non è necessario che siano installati componenti di Office.

Ciò può essere fatto per la maggior parte dei file di dati registrati in Windows, inclusi i MDB, e ti consente il maggior controllo ansible, in quanto è ansible assegnare diversi account Windows per scopi diversi.

Come ho detto prima, tutto questo è serveride e non ha alcun impatto sul client, a parte la possibilità di recuperare credenziali, azioni e tutto ciò.

Questo metodo utilizza JavaScript, SQL (non, nemless MSSQL, solo SQL standard) e richiede solo che il computer di hosting sia in esecuzione QUALSIASI piattaforma Microsoft NT.

Quello che i dataconnectors di Windows fanno è fornire un'interface generalizzata per vari componenti di dati, molto simile a DirectX, per videocard e periferiche. È anche ansible utilizzarlo per colbind un MDB (Microsoft Access) a un server MySQL e alimentare i dati in modo da vivere in questo modo, che credo sia ancora più semplice di utilizzare i fogli di calcolo XLS … specialmente perché è ansible importre XLS in MDB.

Hai davvero bisogno di un file Excel? Perché non utilizzare Excel per esportre i dati in formato CSV o XML e caricarlo?

Il formato di file Excel è molto specifico per l'implementazione di Excel. Se hai bisogno solo dei dati, utilizza un formato di file che contiene solo i dati.