java把JSONObject变成excel,列名取JSONObject的key
时间: 2023-07-11 20:35:46 浏览: 43
如果要动态获取JSON对象的键并将它们用作Excel表头,可以使用以下代码:
```java
// 创建Excel文档
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Data");
// 获取JSON数据
JSONObject json = new JSONObject("{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}");
// 创建表头
Row header = sheet.createRow(0);
int colNum = 0;
for (String key : json.keySet()) {
header.createCell(colNum++).setCellValue(key);
}
// 填充数据
Row row = sheet.createRow(1);
colNum = 0;
for (String key : json.keySet()) {
row.createCell(colNum++).setCellValue(json.getString(key));
}
// 写入文件
FileOutputStream outputStream = new FileOutputStream("data.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
```
这将创建一个名为“data.xlsx”的Excel文件,并将JSON对象的数据写入第一个工作表中。代码中的for循环通过遍历JSON对象的键并将它们用作表头和列名。请注意,此示例仅处理单个JSON对象,如果您有多个对象,则需要使用循环遍历它们并逐个填充工作表。