2

apache-poiを使用してExcelドキュメントを読みました。次のようなレコードを持つExcelドキュメント:

A1 A2 A3 A4

A1 A2 B3 B4

それらを次のようなJSON配列に変換したい

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

実際、XMLに変換するのは簡単です。これを解決する方法を教えてください。ヒントだけで十分です。

4

2 に答える 2

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();
于 2012-07-05T12:36:24.007 に答える
1

Javaオブジェクトでデータを取得したら、この単純なJSONライブラリを使用してJSONを作成できます

http://code.google.com/p/google-gson/

ただし、Javaオブジェクトでそのような構造を作成する必要があります。

于 2012-07-05T12:06:38.247 に答える