1. 程式人生 > >Java POI JSON陣列轉EXCEL

Java POI JSON陣列轉EXCEL

JSON陣列轉EXCEL,自定義動態生成表頭
public static void createExcel(String[] heads,JSONArray jsonArray ,String uploadFileName) {

        SXSSFWorkbook workbook = new SXSSFWorkbook();// 建立一個Excel檔案
        SXSSFSheet sheet = workbook.createSheet();// 建立一個Excel的Sheet
        SXSSFRow titleRow = sheet.createRow(0);//建立表頭
        for(int i=0;i<heads.length;i++){//表頭賦值
            titleRow.createCell(i).setCellValue(heads[i]);
        }
        if (jsonArray.size() > 0) {//單元格賦值
            for (int i = 0; i < jsonArray.size(); i++) {
                SXSSFRow row = sheet.createRow(i + 1);
                JSONObject json = jsonArray.getJSONObject(i); // 遍歷 jsonarray
                for(int j=0;j<heads.length;j++){
                    row.createCell(j).setCellValue(json.get(heads[j]).toString());//賦值
                }

            }
        }
        try {
//            FileOutputStream fos = new FileOutputStream("D://ss.xls");
//            workbook.write(fos);
//            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
//    public static void main(String[] args) {
//        String jsonStr = "[{\"NoPartySubIDs\":\"1\",\"ID\":\"齊商銀行股份有限公司\",\"Typ\":\"124\"},{\"NoPartySubIDs\":\"2\",\"ID\":\"齊商銀行\",\"Typ\":\"125\"}]";
//        JSONArray json = JSONArray.fromObject(jsonStr);
//        String[] heads={"NoPartySubIDs","ID","Typ"};
//        JSONConvertExcel s = new JSONConvertExcel();
//        s.createExcel(heads,json,"債券");
//    }