使用easyexcel 实现动态表头导入导出

首先讲述一下需求,需求是根据系统界面导出excel表格,excel表头是动态,具体字段不确定,用户输入什么字段 就需要导出什么字段如下图所示。用户输入的字段会以json串形式保存到数据库表中  下文以json代替

        String json ="{\"goal\":{\"measures\":[{\"name\":\"销售机会总数\",\"value\":0,\"seq\":0}],\"period\":\"2021\",\"goalName\":0,\"timeDimension\":[{\"label\":\"2021-01\",\"value\":1609430400000},{\"label\":\"2021-02\",\"value\":1617206400000},{\"label\":\"2021-03\",\"value\":1625068800000},{\"label\":\"2021-04\",\"value\":1633017600000}],\"dimensions\":[{\"subDimensions\":[{\"subDimensions\":[{\"subDimensions\":[],\"data\":[\"0\"],\"level\":2,\"periodMeasure\":[{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":0},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":1},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":2},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":3}],\"label\":\"李亚振\",\"value\":942801},{\"subDimensions\":[],\"data\":[\"0\"],\"level\":2,\"periodMeasure\":[{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":0},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":1},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":2},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":3}],\"label\":\"liyz\",\"value\":942806}],\"data\":[\"0\"],\"level\":1,\"label\":\"全公司\",\"value\":\"601960\"}],\"data\":[\"0\"],\"level\":0,\"label\":\"北京市\",\"value\":2},{\"subDimensions\":[{\"subDimensions\":[{\"subDimensions\":[],\"data\":[\"0\"],\"level\":2,\"periodMeasure\":[{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":0},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":1},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":2},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":3}],\"label\":\"李亚振\",\"value\":942801},{\"subDimensions\":[],\"data\":[\"0\"],\"level\":2,\"periodMeasure\":[{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":0},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":1},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":2},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":3}],\"label\":\"liyz\",\"value\":942806}],\"data\":[\"0\"],\"level\":1,\"label\":\"全公司\",\"value\":\"601960\"}],\"data\":[\"0\"],\"level\":0,\"label\":\"山西省\",\"value\":5},{\"subDimensions\":[{\"subDimensions\":[{\"subDimensions\":[],\"data\":[\"0\"],\"level\":2,\"periodMeasure\":[{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":0},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":1},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":2},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":3}],\"label\":\"李亚振\",\"value\":942801},{\"subDimensions\":[],\"data\":[\"0\"],\"level\":2,\"periodMeasure\":[{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":0},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":1},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":2},{\"data\":\"0\",\"measureIndex\":0,\"periodIndex\":3}],\"label\":\"liyz\",\"value\":942806}],\"data\":[\"0\"],\"level\":1,\"label\":\"全公司\",\"value\":\"601960\"}],\"data\":[\"0\"],\"level\":0,\"label\":\"安徽省\",\"value\":13}]},\"goalModel\":{\"createdAt\":1605523390417,\"modelName\":\"目标模型2020-11-16\",\"updatedBy\":942801,\"createdBy\":942801,\"tenantID\":348376,\"boardInfo\":[{\"boardType\":1,\"boardId\":1486987066736675},{\"boardType\":2,\"boardId\":1486987066736676}],\"modelDesc\":{\"modelName\":\"目标模型2020-11-16\",\"measures\":[{\"udfType\":\"userDefinedMeasure\",\"colLable\":\"销售机会总数\",\"filters\":{},\"fields\":[{\"colname\":\"id\",\"instanceName\":\"a_opportunity_3419427374_1005754403\",\"instanceLable\":\"销售机会\",\"argMsg\":{\"modelNodeId\":3419427374,\"name\":\"销售机会\",\"dimensionColumn\":false,\"alias\":\"a_opportunity_3419427374_1005754403\",\"typeLabel\":\"长整型\",\"type\":3,\"table\":\"a_opportunity\",\"iconClass\":\"numberIcon\",\"dbColumn\":\"id\",\"name_resourceKey\":\"XdMDObj.opportunity\",\"tableName\":\"销售机会\"},\"argStratIndex\":6,\"colLable\":\"销售机会\",\"argEndIndex\":18,\"seq\":\"s1\"}],\"udfId\":1486987066736673,\"seq\":1,\"relation\":\"count(s1)\"}],\"activity\":1,\"tenantID\":348376,\"periodDimension\":[{\"itemType\":\"时间型\",\"colname\":\"id\",\"instanceName\":\"bi_time_dimension_2057192999_91008130\",\"instanceLable\":\"时间\",\"entityType\":8,\"pattern\":\"yyyy-QQ\",\"colLable\":\"时间\",\"dimensionColumn\":true,\"seq\":4,\"order\":{\"operate\":\"asc\"}}],\"ID\":0,\"dataConfig\":{\"periodDimensionDataSet\":[{\"itemType\":\"时间型\",\"colname\":\"id\",\"instanceName\":\"bi_time_dimension_2057192999_91008130\",\"instanceLable\":\"时间\",\"entityType\":8,\"pattern\":\"yyyy-QQ\",\"colLable\":\"时间\",\"dimensionColumn\":true,\"seq\":4,\"order\":{\"operate\":\"asc\"}}],\"dimensionSetInfo\":[{\"type\":\"array\",\"propName\":\"dimensionDataSets\"}],\"periodDimensionSetInfo\":[{\"type\":\"object\",\"propName\":\"periodDimensionDataSet\"}],\"goalMeasureSetInfo\":[{\"type\":\"array\",\"propName\":\"goalMeasureSets\"}],\"measureSetInfo\":[{\"type\":\"array\",\"propName\":\"measureSets\"}],\"goalMeasureSets\":[{\"udfType\":\"userDefinedMeasure\",\"entityType\":\"userDefinedMeasure\",\"colLable\":\"销售机会总数-目标值\",\"colAlias\":\"销售机会总数-目标值\",\"jsonDetail\":{\"filters\":{},\"fields\":[{\"colname\":\"dbc_real_1\",\"instanceName\":\"p_custom_data_target\",\"instanceLable\":\"目标明细\",\"argStratIndex\":4,\"argMsg\":{\"name\":\"销售机会总数-目标值\",\"alias\":\"p_custom_data_target\",\"dimensionColumn\":false,\"typeLabel\":\"实数型\",\"type\":4,\"iconClass\":\"numberIcon\",\"table\":\"p_custom_data\",\"dbColumn\":\"dbc_real_1\",\"name_resourceKey\":\"XdMDItm.target.detail.dbc_real_1\",\"tableName\":\"目标明细\"},\"colLable\":\"销售机会总数-目标值\",\"argEndIndex\":16,\"seq\":\"s1\",\"measureType\":\"goal\"}],\"relation\":\"sum(s1)\"}},{\"udfType\":\"userDefinedMeasure\",\"entityType\":\"userDefinedMeasure\",\"colLable\":\"销售机会总数-完成率\",\"colAlias\":\"销售机会总数-完成率\",\"jsonDetail\":{\"filters\":{},\"fields\":[{\"userDefinedMeasureId\":1486987066736673,\"argStratIndex\":0,\"argEndIndex\":6,\"seq\":\"M1\"},{\"colname\":\"dbc_real_1\",\"instanceName\":\"p_custom_data_target\",\"instanceLable\":\"目标明细\",\"argStratIndex\":12,\"argMsg\":{\"name\":\"销售机会总数-目标值\",\"alias\":\"p_custom_data_target\",\"dimensionColumn\":false,\"typeLabel\":\"实数型\",\"type\":4,\"iconClass\":\"numberIcon\",\"table\":\"p_custom_data\",\"dbColumn\":\"dbc_real_1\",\"name_resourceKey\":\"XdMDItm.target.detail.dbc_real_1\",\"tableName\":\"目标明细\"},\"colLable\":\"销售机会总数-目标值\",\"argEndIndex\":24,\"seq\":\"s2\",\"measureType\":\"goal\"}],\"relation\":\"M1/sum(s2)\"}}],\"measureSets\":[{\"udfType\":\"userDefinedMeasure\",\"entityType\":\"userDefinedMeasure\",\"colLable\":\"销售机会总数\",\"colAlias\":\"销售机会总数\",\"jsonDetail\":{\"optionType\":\"numericalValue\",\"str\":\"count( [销售机会.销售机会] )\",\"filters\":{},\"fields\":[{\"colname\":\"id\",\"instanceName\":\"a_opportunity_3419427374_1005754403\",\"instanceLable\":\"销售机会\",\"argMsg\":{\"modelNodeId\":3419427374,\"name\":\"销售机会\",\"dimensionColumn\":false,\"alias\":\"a_opportunity_3419427374_1005754403\",\"typeLabel\":\"长整型\",\"type\":3,\"table\":\"a_opportunity\",\"iconClass\":\"numberIcon\",\"dbColumn\":\"id\",\"name_resourceKey\":\"XdMDObj.opportunity\",\"tableName\":\"销售机会\"},\"argStratIndex\":6,\"colLable\":\"销售机会\",\"argEndIndex\":18,\"seq\":\"s1\"}],\"relation\":\"count(s1)\"},\"udfId\":1486987066736673}],\"dimensionDataSets\":[{\"optionType\":\"district\",\"itemType\":\"单选型\",\"colname\":\"id\",\"instanceName\":\"p_custom_pickoption_4202251641_3736820355\",\"instanceLable\":\"省份\",\"entityType\":9,\"modelNodeId\":4202251641,\"options\":{\"itemId\":153305,\"type\":\"district\",\"objectId\":-101},\"colLable\":\"省份\",\"dimensionColumn\":true,\"colAlias\":\"省份\"},{\"optionType\":\"depart\",\"itemType\":\"长整型\",\"colname\":\"id\",\"instanceName\":\"b_depart_1218622945_4141605830\",\"instanceLable\":\"部门\",\"entityType\":99,\"modelNodeId\":1218622945,\"hierarchy\":[{\"itemId\":163499629,\"dbTable\":\"b_depart\",\"name\":\"depart_name\",\"pid\":\"parent_depart_id\",\"id\":\"id\",\"label\":\"父部门\",\"labelKey\":\"XdMDItm.department.parentDepartId\",\"objectId\":50}],\"colLable\":\"部门\",\"dimensionColumn\":true,\"colAlias\":\"部门\"},{\"optionType\":\"user\",\"itemType\":\"长整型\",\"colname\":\"id\",\"instanceName\":\"b_user_1009312640_2211480561\",\"instanceLable\":\"用户\",\"entityType\":99,\"modelNodeId\":1009312640,\"hierarchy\":[{\"itemId\":162240641,\"dbTable\":\"b_user\",\"name\":\"name\",\"pid\":\"manager_id\",\"id\":\"id\",\"label\":\"直属上级\",\"labelKey\":\"XdMDItm.user.managerId\",\"objectId\":70}],\"colLable\":\"用户\",\"dimensionColumn\":true,\"colAlias\":\"用户\"}]},\"dataRelationID\":1486983544553520,\"dimensions\":[{\"optionType\":\"district\",\"itemType\":\"单选型\",\"colname\":\"id\",\"instanceName\":\"p_custom_pickoption_4202251641_3736820355\",\"instanceLable\":\"省份\",\"entityType\":9,\"options\":{\"itemId\":153305,\"type\":\"district\",\"objectId\":-101},\"colLable\":\"省份\",\"dimensionColumn\":true,\"seq\":1},{\"optionType\":\"depart\",\"itemType\":\"长整型\",\"colname\":\"id\",\"instanceName\":\"b_depart_1218622945_4141605830\",\"instanceLable\":\"部门\",\"entityType\":99,\"hierarchy\":[{\"itemId\":163499629,\"dbTable\":\"b_depart\",\"name\":\"depart_name\",\"pid\":\"parent_depart_id\",\"id\":\"id\",\"label\":\"父部门\",\"labelKey\":\"XdMDItm.department.parentDepartId\",\"objectId\":50}],\"colLable\":\"部门\",\"dimensionColumn\":true,\"seq\":2},{\"optionType\":\"user\",\"itemType\":\"长整型\",\"colname\":\"id\",\"instanceName\":\"b_user_1009312640_2211480561\",\"instanceLable\":\"用户\",\"entityType\":99,\"hierarchy\":[{\"itemId\":162240641,\"dbTable\":\"b_user\",\"name\":\"name\",\"pid\":\"manager_id\",\"id\":\"id\",\"label\":\"直属上级\",\"labelKey\":\"XdMDItm.user.managerId\",\"objectId\":70}],\"colLable\":\"用户\",\"dimensionColumn\":true,\"seq\":3}],\"goalMeasures\":[{\"udfType\":\"userDefinedMeasure\",\"filters\":{},\"fields\":[{\"colname\":\"dbc_real_1\",\"instanceName\":\"p_custom_data_target\",\"instanceLable\":\"目标明细\",\"argStratIndex\":4,\"argMsg\":{\"name\":\"销售机会总数-目标值\",\"alias\":\"p_custom_data_target\",\"dimensionColumn\":false,\"typeLabel\":\"实数型\",\"type\":4,\"iconClass\":\"numberIcon\",\"table\":\"p_custom_data\",\"dbColumn\":\"dbc_real_1\",\"name_resourceKey\":\"XdMDItm.target.detail.dbc_real_1\",\"tableName\":\"目标明细\"},\"colLable\":\"销售机会总数-目标值\",\"argEndIndex\":16,\"seq\":\"s1\",\"measureType\":\"goal\"}],\"measureName\":\"销售机会总数-目标值\",\"seq\":1,\"relation\":\"sum(s1)\",\"measureType\":\"goal\"},{\"udfType\":\"userDefinedMeasure\",\"filters\":{},\"fields\":[{\"userDefinedMeasureId\":1486987066736673,\"argStratIndex\":0,\"argEndIndex\":6,\"seq\":\"M1\"},{\"colname\":\"dbc_real_1\",\"instanceName\":\"p_custom_data_target\",\"instanceLable\":\"目标明细\",\"argStratIndex\":12,\"argMsg\":{\"name\":\"销售机会总数-目标值\",\"alias\":\"p_custom_data_target\",\"dimensionColumn\":false,\"typeLabel\":\"实数型\",\"type\":4,\"iconClass\":\"numberIcon\",\"table\":\"p_custom_data\",\"dbColumn\":\"dbc_real_1\",\"name_resourceKey\":\"XdMDItm.target.detail.dbc_real_1\",\"tableName\":\"目标明细\"},\"colLable\":\"销售机会总数-目标值\",\"argEndIndex\":24,\"seq\":\"s2\",\"measureType\":\"goal\"}],\"measureName\":\"销售机会总数-完成率\",\"seq\":2,\"relation\":\"M1/sum(s2)\",\"measureType\":\"goal\"}],\"order\":[{\"operate\":\"asc\",\"type\":0,\"seq\":4}]},\"id\":1486987066736677,\"delFlag\":0,\"modelActivity\":1,\"dataRelationID\":1486983544553520,\"updatedAt\":1605523390417}}";

  • 19
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值