convertir - exportar json a excel javascript
Conversión de JSON a XLS/CSV en Java (3)
Solo puedes convertir una matriz JSON en un archivo CSV.
Digamos que tienes un JSON como el siguiente:
{"infile": [{"field1": 11,"field2": 12,"field3": 13},
{"field1": 21,"field2": 22,"field3": 23},
{"field1": 31,"field2": 32,"field3": 33}]}
Veamos el código para convertirlo a csv:
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.json.CDL;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JSON2CSV {
public static void main(String myHelpers[]){
String jsonString = "{/"infile/": [{/"field1/": 11,/"field2/": 12,/"field3/": 13},{/"field1/": 21,/"field2/": 22,/"field3/": 23},{/"field1/": 31,/"field2/": 32,/"field3/": 33}]}";
JSONObject output;
try {
output = new JSONObject(jsonString);
JSONArray docs = output.getJSONArray("infile");
File file=new File("/tmp2/fromJSON.csv");
String csv = CDL.toString(docs);
FileUtils.writeStringToFile(file, csv);
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Ahora tienes el CSV generado por JSON.
Debe tener un aspecto como este:
field1,field2,field3
11,22,33
21,22,23
31,32,33
La dependencia de maven era como,
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
¿Alguien tiene un código Java de muestra para convertir un documento JSON a un archivo XLS / CSV? Intenté buscar en Google pero fue en vano.
Un documento JSON básicamente consiste en listas y diccionarios. No hay una manera obvia de mapear dicha estructura de datos en una tabla bidimensional.
puede usar commons csv para convertir a formato CSV. o use POI para convertir a xls. si necesita ayuda para convertir a xls, puede usar jxls, puede convertir java bean (o list) en excel con el lenguaje de expresión.
Básicamente, el json doc es una matriz JSON, ¿verdad? entonces será lo mismo. el resultado será una lista, y usted solo escribirá la propiedad que desea visualizar en formato excel que será leída por jxls. Ver http://jxls.sourceforge.net/reference/collections.html
Si el problema es que el JSON no se puede leer en la propiedad jxls excel, primero serialícela en la colección de Java Bean.