2012-07-05 61 views
2

我已阅读使用apache-poi的excel文档。将Excel转换为JSON

A1 A2 A3 A4 

A1 A2 B3 B4 

我想将它们转换成JSON数组一样

{ A1 : {A2 : {A3 : {A4 : some_value } } , {B3 : {B4 : some_value } } } } 

其实它很容易转换成XML: 其中有这样的记录Excel文档。 请告诉我如何解决这个问题。 只有提示就足够了。

+1

http://xstream.codehaus.org/json-tutorial.html 应该自动生成你在找什么:给定一个Java类它会给你一个JSON文本。 – avgvstvs 2012-07-05 12:52:28

回答

3

您可以参考下面的代码:

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(); 
+0

非常感谢UVM :)我也设法解决了这个问题 – sachinjain024 2012-07-06 04:33:46