温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

json数组怎样导出到Excel

发布时间:2021-12-14 15:01:21 来源:亿速云 阅读:420 作者:柒染 栏目:编程语言

本篇文章给大家分享的是有关json数组怎样导出到Excel,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

导出方法

public static JSONObject createExcel(String src, JSONArray json) {
        //用于返回响应的消息
        JSONObject result = new JSONObject();
        try {
            File file = new File(src);
            file.createNewFile();
            OutputStream outputStream = new FileOutputStream(file);
            WritableWorkbook writableWorkbook = Workbook.createWorkbook(outputStream);
            WritableSheet sheet = writableWorkbook.createSheet("First sheet", 0);
            //设置边框
            WritableFont font = new WritableFont(WritableFont.TIMES, 10, WritableFont.NO_BOLD, false);
            WritableCellFormat format = new WritableCellFormat(font);
            format.setBorder(jxl.format.Border.ALL, BorderLineStyle.THIN);
            format.setAlignment(Alignment.CENTRE);
            JSONArray jsonArray = json;
            Label label;//单元格对象
            int column = 0;//列数计数
            JSONObject first = jsonArray.getJSONObject(0);
            Iterator<String> iterator = first.keys();
            while (iterator.hasNext()) {
                String key = iterator.next();
                label = new Label(column++, 0, key, format);
                sheet.addCell(label);
            }
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject item = jsonArray.getJSONObject(i);
                iterator = item.keys();
                column = 0;
                while (iterator.hasNext()) {
                    String key = iterator.next();
                    String value = item.getString(key);
                    label = new Label(column++, (i + 1), value, format);
                    sheet.addCell(label);
                }
            }
            writableWorkbook.write();
            writableWorkbook.close();
        } catch (Exception e) {
            result.put("result", "failed");
            result.put("reason", e.getMessage());
            return result;
        }
        result.put("result", "successed");
        return result;
    }

测试方法

public static void main(String[] args) {
        String src = "C:\\a.xls";
        String str = "[{\"dupCount\":4,\"qs_sumValue\":30,\"qs_span\":16,\"qs_dupCount\":0,\"sumValue\":64,\"dxb\":\"2:6\",\"job_qs\":\"2:1\",\"winNumber\":\"19 03 08 06 12 01 05 10\",\"zhb\":\"4:4\",\"matchNo\":\"17122387\",\"zhb_qs\":\"2:1\",\"job\":\"4:4\",\"dxb_qs\":\"1:2\",\"span\":18},{\"dupCount\":4,\"qs_sumValue\":36,\"qs_span\":14,\"qs_dupCount\":1,\"sumValue\":70,\"dxb\":\"3:5\",\"job_qs\":\"0:3\",\"winNumber\":\"20 10 06 11 15 01 02 05\",\"zhb\":\"4:4\",\"matchNo\":\"17122386\",\"zhb_qs\":\"0:3\",\"job\":\"4:4\",\"dxb_qs\":\"1:2\",\"span\":19},{\"dupCount\":5,\"qs_sumValue\":32,\"qs_span\":13,\"qs_dupCount\":0,\"sumValue\":57,\"dxb\":\"1:7\",\"job_qs\":\"2:1\",\"winNumber\":\"19 07 06 10 01 02 03 09\",\"zhb\":\"5:3\",\"matchNo\":\"17122385\",\"zhb_qs\":\"2:1\",\"job\":\"5:3\",\"dxb_qs\":\"1:2\",\"span\":18},{\"dupCount\":6,\"qs_sumValue\":15,\"qs_span\":10,\"qs_dupCount\":1,\"sumValue\":46,\"dxb\":\"1:7\",\"job_qs\":\"3:0\",\"winNumber\":\"11 01 03 08 10 02 05 06\",\"zhb\":\"5:3\",\"matchNo\":\"17122384\",\"zhb_qs\":\"3:0\",\"job\":\"4:4\",\"dxb_qs\":\"1:2\",\"span\":10},{\"dupCount\":0,\"qs_sumValue\":27,\"qs_span\":5,\"qs_dupCount\":0,\"sumValue\":46,\"dxb\":\"1:7\",\"job_qs\":\"1:2\",\"winNumber\":\"10 11 06 04 05 01 02 07\",\"zhb\":\"5:3\",\"matchNo\":\"17122383\",\"zhb_qs\":\"1:2\",\"job\":\"4:4\",\"dxb_qs\":\"1:2\",\"span\":10}]";
        JSONArray jsonArray = JSONArray.fromObject(str);
        JSONObject jsonObject1 = createExcel(src, jsonArray);
        if (!JSONUtils.isNull(jsonObject1.get("result"))) {
            String result = jsonObject1.get("result").toString();
            if ("failed".equals(result)) {
                System.out.println(jsonObject1.get("reason"));
            }
        }
    }

以上就是json数组怎样导出到Excel,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI