微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ali json转excel

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,以文本形式进行数据交流。阿里提供了一个简单的 JSON 转 Excel 工具,可以帮助我们快速将 JSON 数据转成 Excel 表格。下面我们详细介绍如何使用该工具。

ali json转excel

首先,我们需要在项目中引入 Ali JSON 转 Excel 的依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.3.0</version>
</dependency>

接着,我们需要写一个 Java 类来处理 JSON 数据并转成 Excel。

import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.Metadata.Sheet;
import com.alibaba.excel.Metadata.Table;
import com.alibaba.excel.support.ExcelTypeEnum;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class JsonToExcel {
    public static void main(String[] args) throws IOException {
        JSONArray jsonArray = new JSONArray(jsonString);
        Map titleMap = new LinkedHashMap();
        JSONObject obj = jsonArray.getJSONObject(0);
        obj.keySet().forEach(key -> titleMap.put(key,key));
        List> dataList = new ArrayList();
        for (int i = 0; i < jsonArray.length(); i++) {
            List rowDataList = new ArrayList();
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            titleMap.keySet().forEach(key -> rowDataList.add(jsonObject.get(key).toString()));
            dataList.add(rowDataList);
        }
        String filePath = "output.xlsx";
        FileOutputStream fos = new FileOutputStream(filePath);
        ExcelWriter writer = new ExcelWriter(fos,ExcelTypeEnum.XLSX);
        Sheet sheet1 = new Sheet(1,0);
        sheet1.setSheetName("Sheet1");
        Table table = new Table(1);
        List> head = new ArrayList();
        titleMap.values().forEach(value -> head.add(Collections.singletonList(value)));
        table.setHead(head);
        writer.write1(dataList,sheet1,table);
        writer.finish();
    }
}

我们需要先将 JSON 字符串解析成 JSONArray,并且获取表格头信息。接着将每一行数据存成 List<List<String>> 的形式。最后使用 Ali 提供的 ExcelWriter 对象将数据写入文件输出

最后,我们需要调用上述代码来将 JSON 转成 Excel 文件

String jsonString = " [{\"name\":\"Alice\",\"age\":22,\"gender\":\"Female\"},{\"name\":\"Bob\",\"age\":25,\"gender\":\"Male\"}]";
JsonToExcel jsonToExcel = new JsonToExcel();
jsonToExcel.exportExcel(jsonString);

以上就是使用 Ali JSON 转 Excel 的全部过程。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐