Domanda

Sto cercando di scrivere un piccolo strumento Web che prende un file Excel, analizza i contenuti e quindi confronta i dati con un altro set di dati. Questo può essere fatto facilmente in JavaScript? Esiste una libreria JavaScript che lo fa?

È stato utile?

Soluzione

Come caricare un file in JavaScript in primo luogo?

Inoltre, Excel è un formato proprietario e abbastanza complesso che le librerie lato server hanno anni di sviluppo (come POI di Apache ) non sono ancora riusciti a decodificare correttamente questi formati Microsoft al 100%.

Quindi penso che la risposta sia che non puoi.

Aggiornamento: Questo è in puro JavaScript.

Aggiornamento 2: Ora è possibile caricare file in JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader

Altri suggerimenti

Negli ultimi quattro anni ci sono stati molti progressi. L'API di file HTML5 è stata adottata dai principali fornitori di browser e i miglioramenti delle prestazioni in realtà rendono in qualche modo possibile 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, dovrai usare ActiveX e probabilmente anche i componenti web di Office. Solo un suggerimento, ma probabilmente non vuoi seguire questa strada; sarà inefficiente e solo IE / Win. Starai meglio con una soluzione basata su server.

Dovrai usare ActiveX (vedi Scuole W3C sull'uso di AJAX) e registrare il file nei Dataconnector dei computer host (solo il computer che ospita il file). A differenza di quanto accennato in precedenza, questo metodo non dipende dalla piattaforma Microsoft (comunque per il client) 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 ti offre tutto il controllo che desideri, poiché puoi assegnare account Windows diversi per scopi diversi.

Come ho detto prima, tutto questo è lato server e non ha alcun impatto sul client, a parte forse il recupero di 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.

Quello che fanno i dataconnector di Windows è fornire un'interfaccia generalizzata per vari componenti di dati, proprio come fa DirectX per videocamere e altre periferiche. Puoi anche usarlo per collegare un MDB (Microsoft Access) a un server MySQL e alimentare i dati in quel modo, cosa che credo sia ancora più semplice dell'uso dei fogli di calcolo XLS ... soprattutto perché puoi importare XLS in MDB.

veramente hai bisogno di un file Excel? Perché non usare Excel per esportare i dati in CSV o XML e caricarli?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top