148 votes

convertir CSV/XLS en JSON ?

Quelqu'un sait-il s’il y a des application qui me laissera covert préférence XLS en JSON ?

Je vais également régler pour un convertisseur de CSV puisque c’est ce que je vais probablement finir par devoir écrire moi-même si il n’y a rien autour.

198voto

Shan Carter Points 1009

Vous pouvez essayer cet outil que j’ai fait :

Convertisseur de données M.

Il convertit en JSON, XML et d’autres.

C’est tous les côté client, aussi, si vos données ne quittent jamais votre ordinateur.

82voto

zmonteca Points 927

Cela a fonctionné parfaitement pour moi et ne nécessite pas de chargement d’un fichier :

https://github.com/cparker15/CSV-to-JSON?Files=1

46voto

knb Points 2521

Depuis Powershell 3.0 (livré avec Windows 8, disponible pour Windows 7 et windows Server 2008 mais pas de Windows Vista), vous pouvez utiliser l’applet de commande convertto-json intégré :

Aide en ligne la Page sur le site Technet

28voto

Matt York Points 161

Si vous ne pouvez pas trouver une solution, il est assez facile de construire une base en Java. J'ai juste écrit un pour un client et il n'a fallu que quelques heures, y compris les outils de recherches sur.

Apache POI va lire les binaires Excel. http://poi.apache.org/

JSONObject va construire le JSON

Après c'est juste une question de parcours des lignes dans Excel des données et la construction d'une structure JSON. Voici un pseudo-code pour l'utilisation de base.

FileInputStream inp = new FileInputStream( file );
Workbook workbook = WorkbookFactory.create( inp );

// Get the first Sheet.
Sheet sheet = workbook.getSheetAt( 0 );

    // Start constructing JSON.
    JSONObject json = new JSONObject();

    // Iterate through the rows.
    JSONArray rows = new JSONArray();
    for ( Iterator<Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext(); )
    {
        Row row = rowsIT.next();
        JSONObject jRow = new JSONObject();

        // Iterate through the cells.
        JSONArray cells = new JSONArray();
        for ( Iterator<Cell> cellsIT = row.cellIterator(); cellsIT.hasNext(); )
        {
            Cell cell = cellsIT.next();
            cells.put( cell.getStringCellValue() );
        }
        jRow.put( "cell", cells );
        rows.put( jRow );
    }

    // Create the JSON.
    json.put( "rows", rows );

// Get the JSON text.
return json.toString();

13voto

Dataman Points 61

Cela fonctionne pour moi et s’exécute côté client : http://www.convertcsv.com/csv-to-json.htm

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X