2017-03-06 3 views
2

Ich möchte Excel-Bericht erstellen. Ich habe JSON-Objekt, das ich in JSONarray umgewandelt werde. Hier ist mein BeispielcodeGenerieren Sie Excel-Bericht Bericht von JSON-Array in Java

JSONObject jsonObj = new JSONObject(jsonString.toString()); //convert to json object 
JSONArray objSearchOrdersDto = jsonObj.getJSONArray("objSearchOrdersDto"); // convert to json array 

for (int i = 0; i < objSearchOrdersDto.length(); ++i) 
{ 

    JSONObject rec = objSearchOrdersDto.getJSONObject(i); 
    int OrderNumber = rec.getInt("OrderNumber"); 
    String strStatusType = rec.getString("strStatusType"); 
    int OrgUnitId = rec.getInt("OrgUnitId"); 
    System.out.println(OrderNumber+"\t"+strStatusType+"\t"+OrgUnitId); //want to excel file for this three field 
} 

Hier möchte ich Excel-Bericht nur für diese drei Felder in For-Schleife generieren. Bitte geben Sie mir einen Vorschlag.

+0

Verwenden Sie Apache POI, um das zu tun –

+0

Sie können dafür Apache POI verwenden und Klassen wie XSSFWorkbook, XSSFSheet, Row, Cell verwenden. Ich habe unten ein Beispielcode-Snippet hinzugefügt. Bitte markieren - Als beantwortet markieren, wenn es Ihre Anfrage beantwortet. –

+0

Es funktioniert, kann es möglich, Datei im Append-Modus zu öffnen @ SrikanthA. damit ich beim nächsten Mal mit den vorhandenen Daten fortfahren kann, –

Antwort

1

Sie können dafür Apache POI verwenden und Klassen wie XSSFWorkbook, XSSFSheet, Row, Cell verwenden.

JSONObject jsonObj = new JSONObject(jsonString.toString()); //convert to json object 
JSONArray objSearchOrdersDto = jsonObj.getJSONArray("objSearchOrdersDto"); // convert to json array 


XSSFWorkbook workbook = new XSSFWorkbook(); 
     XSSFSheet sheet = workbook.createSheet("Report"); 

     int rowCount = 0; 
     for (int i = 0; i < objSearchOrdersDto.length(); ++i) 
     { 
      JSONObject rec = objSearchOrdersDto.getJSONObject(i); 
      int OrderNumber = rec.getInt("OrderNumber"); 
      String strStatusType = rec.getString("strStatusType"); 
      int OrgUnitId = rec.getInt("OrgUnitId"); 

      Row row = sheet.createRow(++rowCount); 
      Cell cell1 = row.createCell(1); 
      cell1.setCellValue(OrderNumber); 
      Cell cell2 = row.createCell(2); 
      cell2.setCellValue(strStatusType); 
      Cell cell3 = row.createCell(3); 
      cell3.setCellValue(OrgUnitId); 
      System.out.println(OrderNumber+"\t"+strStatusType+"\t"+OrgUnitId); //want to excel file for this three field 
     } 


     try (FileOutputStream outputStream = new FileOutputStream("Report.xlsx")) { 
      workbook.write(outputStream); 
     } 

Erforderlich Einfuhren -

Import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodell.Row;
importieren org.apache.poi.xssf.usermodel.XSSFSheet;
importieren org.apache.poi.xssf.usermodell.XSSFWorkbook;

Verwandte Themen