欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java json to excel

老白2年前8瀏覽0評論

在開發過程中,常常需要將后端返回的數據保存至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),動態地獲取表格的keys,然后,通過遍歷keys數組來實現整個POI庫的工作。