在開發過程中,常常需要將后端返回的數據保存至Excel表格中進行報表統計或數據分析。而Java編程語言中,JSON和Excel是兩個非常常用的數據格式。那么如何將JSON數據轉換為Excel表格呢?
通過使用Java中的POI庫,我們可以很方便地實現json到excel的轉換。POI(Poor Obfuscation Implementation),是Apache基金會下的一個開源軟件項目,提供API來操作Microsoft Office文檔,如Excel文檔、Word文檔等等。
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.json.JSONArray; import org.json.JSONObject; import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; public class JsonToExcel { public void toJson(JSONArray jsonArray, OutputStream os) throws IOException { try (Workbook wb = new HSSFWorkbook()) { Sheet sheet = wb.createSheet("Sheet1"); int rowIndex = 0; int cellIndex = 0; Row row = null; Cell cell = null; JSONObject jsonObject = null; JSONArray keys = null; Iterator< JSONObject >iter = jsonArray.iterator(); while (iter.hasNext()) { jsonObject = iter.next(); keys = jsonObject.names(); if (rowIndex == 0) { row = sheet.createRow(rowIndex); for (int i = 0; i< keys.length(); i++) { cell = row.createCell(cellIndex++); cell.setCellValue(keys.getString(i)); } rowIndex++; cellIndex = 0; } row = sheet.createRow(rowIndex); for (int i = 0; i< keys.length(); i++) { cell = row.createCell(cellIndex++); cell.setCellValue(jsonObject.getString(keys.getString(i))); } rowIndex++; cellIndex = 0; } wb.write(os); } } }
如上述代碼所示,我們可以大致了解到json到excel的轉換過程:首先創建一個工作簿(Object: HSSFWorkbook),然后創建一個Sheet(sheet = wb.createSheet("Sheet1")),接著使用JSONObject的解析方式(Iterator
上一篇vue打包發布nginx
下一篇vue植入公眾號