From 4610578ccf4b5e00d534cc50d0ecca5a4ed16798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 3 Jan 2025 15:02:54 +0800 Subject: [PATCH] 'commit' --- .../com/dsideal/base/Tools/ExportExcel.java | 23 +++++ src/main/resources/Sql/ExportExcel.sql | 98 +++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 src/main/java/com/dsideal/base/Tools/ExportExcel.java create mode 100644 src/main/resources/Sql/ExportExcel.sql diff --git a/src/main/java/com/dsideal/base/Tools/ExportExcel.java b/src/main/java/com/dsideal/base/Tools/ExportExcel.java new file mode 100644 index 00000000..c4026e69 --- /dev/null +++ b/src/main/java/com/dsideal/base/Tools/ExportExcel.java @@ -0,0 +1,23 @@ +package com.dsideal.base.Tools; + +import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.Record; +import com.jfinal.plugin.activerecord.SqlPara; + +import java.util.List; + +import static com.dsideal.base.DataEase.Model.DataEaseModel.DB_NAME; + +public class ExportExcel { + public static void main(String[] args) { + LocalMysqlConnectUtil.Init(); + + SqlPara sqlPara = Db.getSqlPara("exportExcel.Xqry"); + List list = Db.use(DB_NAME).find(sqlPara); + + for (Record record : list) { + System.out.println(record); + } + } +} diff --git a/src/main/resources/Sql/ExportExcel.sql b/src/main/resources/Sql/ExportExcel.sql new file mode 100644 index 00000000..d77778a7 --- /dev/null +++ b/src/main/resources/Sql/ExportExcel.sql @@ -0,0 +1,98 @@ +#namespace("exportExcel") + -- 学前入园幼儿入园总量 + #sql("Xqry") + (SELECT + 行政区划, + 上级行政区划, + '总入园数' as 分类, + MAX(IF(年份 = 2023, 总量数值, NULL)) as '2023', + MAX(IF(年份 = 2024, 总量数值, NULL)) as '2024', + MAX(IF(年份 = 2025, 总量数值, NULL)) as '2025', + MAX(IF(年份 = 2026, 总量数值, NULL)) as '2026', + MAX(IF(年份 = 2027, 总量数值, NULL)) as '2027', + MAX(IF(年份 = 2028, 总量数值, NULL)) as '2028', + MAX(IF(年份 = 2029, 总量数值, NULL)) as '2029', + MAX(IF(年份 = 2030, 总量数值, NULL)) as '2030', + MAX(IF(年份 = 2031, 总量数值, NULL)) as '2031', + MAX(IF(年份 = 2032, 总量数值, NULL)) as '2032', + MAX(IF(年份 = 2033, 总量数值, NULL)) as '2033', + MAX(IF(年份 = 2034, 总量数值, NULL)) as '2034' + FROM excel_学前幼儿入园总量_b25b1b09b0 + WHERE 总量分类 = '总入园数' + GROUP BY 行政区划, 上级行政区划) + + UNION ALL + + (SELECT + 行政区划, + 上级行政区划, + '城区' as 分类, + MAX(IF(年份 = 2023, 区域数值, NULL)) as '2023', + MAX(IF(年份 = 2024, 区域数值, NULL)) as '2024', + MAX(IF(年份 = 2025, 区域数值, NULL)) as '2025', + MAX(IF(年份 = 2026, 区域数值, NULL)) as '2026', + MAX(IF(年份 = 2027, 区域数值, NULL)) as '2027', + MAX(IF(年份 = 2028, 区域数值, NULL)) as '2028', + MAX(IF(年份 = 2029, 区域数值, NULL)) as '2029', + MAX(IF(年份 = 2030, 区域数值, NULL)) as '2030', + MAX(IF(年份 = 2031, 区域数值, NULL)) as '2031', + MAX(IF(年份 = 2032, 区域数值, NULL)) as '2032', + MAX(IF(年份 = 2033, 区域数值, NULL)) as '2033', + MAX(IF(年份 = 2034, 区域数值, NULL)) as '2034' + FROM excel_学前幼儿入园总量_b25b1b09b0 + WHERE 区域分类 = '城区' + GROUP BY 行政区划, 上级行政区划) + + UNION ALL + + (SELECT + 行政区划, + 上级行政区划, + '镇区' as 分类, + MAX(IF(年份 = 2023, 区域数值, NULL)) as '2023', + MAX(IF(年份 = 2024, 区域数值, NULL)) as '2024', + MAX(IF(年份 = 2025, 区域数值, NULL)) as '2025', + MAX(IF(年份 = 2026, 区域数值, NULL)) as '2026', + MAX(IF(年份 = 2027, 区域数值, NULL)) as '2027', + MAX(IF(年份 = 2028, 区域数值, NULL)) as '2028', + MAX(IF(年份 = 2029, 区域数值, NULL)) as '2029', + MAX(IF(年份 = 2030, 区域数值, NULL)) as '2030', + MAX(IF(年份 = 2031, 区域数值, NULL)) as '2031', + MAX(IF(年份 = 2032, 区域数值, NULL)) as '2032', + MAX(IF(年份 = 2033, 区域数值, NULL)) as '2033', + MAX(IF(年份 = 2034, 区域数值, NULL)) as '2034' + FROM excel_学前幼儿入园总量_b25b1b09b0 + WHERE 区域分类 = '镇区' + GROUP BY 行政区划, 上级行政区划) + + UNION ALL + + (SELECT + 行政区划, + 上级行政区划, + '乡村' as 分类, + MAX(IF(年份 = 2023, 区域数值, NULL)) as '2023', + MAX(IF(年份 = 2024, 区域数值, NULL)) as '2024', + MAX(IF(年份 = 2025, 区域数值, NULL)) as '2025', + MAX(IF(年份 = 2026, 区域数值, NULL)) as '2026', + MAX(IF(年份 = 2027, 区域数值, NULL)) as '2027', + MAX(IF(年份 = 2028, 区域数值, NULL)) as '2028', + MAX(IF(年份 = 2029, 区域数值, NULL)) as '2029', + MAX(IF(年份 = 2030, 区域数值, NULL)) as '2030', + MAX(IF(年份 = 2031, 区域数值, NULL)) as '2031', + MAX(IF(年份 = 2032, 区域数值, NULL)) as '2032', + MAX(IF(年份 = 2033, 区域数值, NULL)) as '2033', + MAX(IF(年份 = 2034, 区域数值, NULL)) as '2034' + FROM excel_学前幼儿入园总量_b25b1b09b0 + WHERE 区域分类 = '乡村' + GROUP BY 行政区划, 上级行政区划) + + ORDER BY 上级行政区划, 行政区划, + CASE 分类 + WHEN '总入园数' THEN 1 + WHEN '城区' THEN 2 + WHEN '镇区' THEN 3 + WHEN '乡村' THEN 4 + END + #end +#end \ No newline at end of file