在Java開發中,我們經常需要將數據從JSON格式轉換為Excel表格。這時候我們可以使用Java中的POI庫和JSON對象庫進行實現。
//POI導出Excel需要的jar包 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; //JSON處理需要的jar包 import org.json.JSONArray; import org.json.JSONObject; //IO操作需要的jar包 import java.io.FileOutputStream; import java.io.IOException; import java.util.Iterator;
首先,我們需要讀取JSON數據,并將其轉換為Java對象。這里我們使用JSON對象庫進行轉換。
String jsonStr = "...";//原始JSON數據 JSONObject jsonObj = new JSONObject(jsonStr);
接下來,我們需要實現Excel表格的創建和填充。這里我們使用POI庫進行實現。
Workbook wb = new XSSFWorkbook(); //創建Excel工作簿 Sheet sheet = wb.createSheet("Sheet1"); //創建工作表 int rowIndex = 0; Iteratorkeys = jsonObj.keys(); //填充表頭 Row headerRow = sheet.createRow(rowIndex++); int cellIndex = 0; while (keys.hasNext()) { String key = keys.next(); headerRow.createCell(cellIndex++).setCellValue(key); } //填充數據 if(jsonObj.get("data") instanceof JSONArray){ JSONArray array = jsonObj.getJSONArray("data"); for(int i = 0, length = array.length(); i< length; i++){ Row row = sheet.createRow(rowIndex++); JSONObject obj = array.getJSONObject(i); Iterator dataKeys = obj.keys(); cellIndex = 0; while (dataKeys.hasNext()) { String dataKey = dataKeys.next(); row.createCell(cellIndex++).setCellValue(obj.getString(dataKey)); } } }
最后,我們需要將生成的Excel表格保存到文件中。
try { String filePath = "...";//保存文件路徑 FileOutputStream fos = new FileOutputStream(filePath); wb.write(fos); fos.close(); } catch (IOException e) { e.printStackTrace(); }
通過上述代碼,我們可以將JSON數據轉換為Excel表格,并將其保存到本地文件中。
下一篇vue查看項目名