Sto provando a scrivere un piccolo strumento Web che prende un file Excel, analizza il contenuto e quindi confronta i dati con un altro set di dati. Questo può essere fatto facilmente in JavaScript? C'è una libreria JavaScript che fa questo?Come analizzare un file Excel in JavaScript?
risposta
Come caricheresti un file in JavaScript, in primo luogo?
Inoltre, Excel è un formato proprietario e sufficientemente complesso che le librerie lato server con anni di sviluppo (come ad esempio Apache POI) non sono ancora state gestite correttamente al 100% con il reverse engineering di questi formati Microsoft.
Quindi penso che la risposta sia che non puoi.
Aggiornamento: Questo è in puro JavaScript.
Aggiornamento 2: E 'ora possibile caricare i file in JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader
di fare tutto in js, dovrete utilizzare ActiveX e probabilmente l'Office Web Components pure. Solo un suggerimento, ma probabilmente non vuoi seguire questa strada; sarà inefficiente e solo IE/Win. Starai meglio con una soluzione basata su server.
Avete un veramente necessario un file Excel? Perché non utilizzare Excel per esportare i dati in CSV o XML e caricarlo?
Il formato di file Excel è molto specifico per l'implementazione di Excel. Se hai solo bisogno dei dati, usa un formato file che contenga solo i dati.
Il problema con questa soluzione è che richiede un intervento manuale. L'excel ha più fogli di lavoro con un sacco di fomulas e non esiste un modo semplice e automatizzato per convertire xls in csv, almeno di questo so. Si prega di aggiornare questo se si conosce qualche strumento che lo fa in un modo semplice. – vivekian2
È necessario utilizzare ActiveX (vedere Scuole W3C sull'uso di AJAX) e registrare il file nei Dataconnectors dei computer di hosting (solo il computer che ospita il file). A differenza di quanto accennato prima, questo metodo non è dipendente dalla piattaforma Microsoft (per il client in ogni caso) e non è necessario che i componenti di Office siano installati.
Questo può essere fatto per la maggior parte dei file di dati registrati in Windows, inclusi gli MDB, e consente di avere tutto il controllo che si desidera, dato che è possibile assegnare diversi account Windows per scopi diversi.
Come ho detto prima, tutto questo è lato server e non ha alcun impatto sul client, a parte forse il recupero delle credenziali, azioni e tutto il resto.
Questo metodo utilizza JavaScript, SQL (no, nemmeno MSSQL, solo standard SQL) e richiede solo che il computer host esegua QUALSIASI piattaforma Microsoft NT.
Cosa dataconnectors di Windows fare è fornire un'interfaccia generalizzata per i vari componenti di dati molto simile a DirectX fa per schede video e altre periferiche. È anche possibile utilizzarlo per collegare un MDB (Microsoft Access) ad un server MySQL e feed di dati vivono in quel modo, che a mio avviso è ancora più semplice che usare i fogli di calcolo XLS ... soprattutto perché è possibile importare in XLS MDB.
Negli ultimi quattro anni, ci sono stati molti progressi. HTML5 File API è stato abbracciato dai principali produttori di browser e miglioramenti delle prestazioni effettivamente fare in qualche modo possibile analizzare i file excel (sia XLS e XLSX) nel browser.
mie entrate in questo spazio:
Entrambi sono puri-JS parser
- 1. Come analizzare il file Excel in Javascript/HTML5
- 2. Come posso analizzare un file di testo usando javascript
- 3. Come analizzare un file YAML?
- 4. Come analizzare un file JSON?
- 5. Come analizzare un file DOT in Python
- 6. Come leggere un file Excel con JavaScript (senza ActiveXObject)
- 7. Come aprire un file Excel in PHP?
- 8. Javascript come analizzare array JSON
- 9. analizzare la stringa in JavaScript
- 10. Genera file XML excel aperto da javascript
- 11. Come analizzare l'input [] valori e messo in un array JavaScript
- 12. Uso di Javascript in Excel
- 13. Come analizzare un file M3U8 nell'obiettivo C?
- 14. Come analizzare un file dump da un file DLL Delphi?
- 15. come analizzare un file CSV utilizzando PHP
- 16. Ruby: impossibile analizzare il file Excel esportato come CSV in OS X
- 17. Analizzare un ID Vimeo utilizzando JavaScript?
- 18. Lettura di macro VBA (o vbaProject.bin) di un file Excel senza aprirlo in MS Excel
- 19. Come analizzare il file XML in RapidXML
- 20. Excel-Like intestazioni in JavaScript
- 21. HTML da Excel a Excel Javascript
- 22. Come utilizzare un JavaScript per caricare e analizzare un file JSON statico nel server
- 23. come creare un file "vera" Excel
- 24. Come analizzare questo file OFX?
- 25. Come analizzare un file di testo in Objective-C?
- 26. Come scaricare e analizzare un file csv in Racket?
- 27. Come analizzare nuovamente le righe excel utilizzando EPPlus
- 28. Lettura di un file Excel in PHP
- 29. Come aprire un file csv in Microsoft Excel in Python?
- 30. Analizzare il C# datetime in javascript datetime
JavaScript non è in grado di leggere un file in stesso (tranne che per aggiunte un po 'recenti che probabilmente non sono disponibili in IE), ma puoi aiutarlo con quello usando un server web che risponde a una richiesta AJAX con i contenuti. Gestire dati binari arbitrari non è facile neanche in JS (Tranne che per aggiunte recenti, probabilmente non compatibili con IE ...) – Frank
Non sono sicuro di quale stato dell'arte ci sia al momento di questo post, ma ora lo facciamo avere API come l'oggetto FileReader in Firefox, Opera e Chrome per caricare i file in Javascript. La natura proprietaria del formato è ancora un problema, anche se ho visto librerie per altri linguaggi in grado di analizzare file Excel di base, ma non in Javascript. –
@wybiral http://niggler.github.io/js-xlsx/ e http://niggler.github.io/js-xls/ sembrano adattarsi alla bolletta –