From 286164f9b223274e78f736d5ac5de26361083191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Mon, 4 Nov 2024 11:06:19 +0800 Subject: [PATCH] 'commit' --- .../com/dsideal/base/Tools/ExportExcel.java | 140 ++++++++---------- 1 file changed, 64 insertions(+), 76 deletions(-) diff --git a/src/main/java/com/dsideal/base/Tools/ExportExcel.java b/src/main/java/com/dsideal/base/Tools/ExportExcel.java index 2b94fb53..31edcf63 100644 --- a/src/main/java/com/dsideal/base/Tools/ExportExcel.java +++ b/src/main/java/com/dsideal/base/Tools/ExportExcel.java @@ -2,95 +2,83 @@ package com.dsideal.base.Tools; import com.dsideal.base.DataEase.Model.DataEaseModel; import com.dsideal.base.Tools.Util.SshConnectUtil; +import com.dsideal.base.Util.ExcelCommonUtil; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; +import java.io.File; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; -public class ExportExcel { +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.Record; +public class ExportExcel { + public static DataEaseModel dm = new DataEaseModel(); public static void main(String[] args) throws IOException, JSchException { - //通过ssh链接到Mysql数据库 Session session = SshConnectUtil.Init(); - DataEaseModel dm = new DataEaseModel(); - - //1、添加到数据集表中 - dm.collectDataSet(); - //2、加上主键 - dm.addPrimaryKey(); - //3、将所有非空列去掉不允许为空的限制 - dm.updateNotNullColumns(); + //Excel的保存目录 + String exportPath = "D:/360Downloads/Excel"; + File directory = new File(exportPath); + // 检查目录是否存在 + if (!directory.exists()) { + directory.mkdirs(); + } + String privinceName = "云南省"; + //一、导出省的数据集 + System.out.println("正在处理省数据集..."); + List list = dm.getDataSetByIdentityId(1); + System.out.println("数据集个数=" + list.size()); + for (Record record : list) { + String tableName = record.getStr("table_name"); + String dataSetName = record.getStr("dataset_name"); + System.out.println("正在处理数据集:" + dataSetName); + //对此表中的数据进行直接导出EXCEL + String sql = "select * from `" + tableName + "`"; + List tableData = Db.use(DataEaseModel.DB_NAME).find(sql); + String excelFileName = "【" + privinceName + "】" + dataSetName + ".xlsx"; + ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true); + } + //二、导出市的数据集 + System.out.println("正在处理市数据集..."); + String city_name = "昆明市"; + list = dm.getDataSetByIdentityId(2); + System.out.println("数据集个数=" + list.size()); + for (Record record : list) { + String tableName = record.getStr("table_name"); + String dataSetName = record.getStr("dataset_name"); + System.out.println("正在处理数据集:" + dataSetName); -// //4、遍历所有数据集的表 -// int total = 0; -// for (int i = 1; i <= 3; i++) {//1:省管理员,2:市州管理员,3:县区管理员 -// switch (i) { -// case 1: -// System.out.println("正在处理省管理员需要看到的数据集~"); -// break; -// case 2: -// System.out.println("正在处理市州管理员需要看到的数据集~"); -// break; -// case 3: -// System.out.println("正在处理县区管理员需要看到的数据集~"); -// break; -// } -// -// //Excel的保存目录 -// String exportPath = "D:/360Downloads/Excel"; -// File directory = new File(exportPath); -// // 检查目录是否存在 -// if (!directory.exists()) { -// directory.mkdirs(); -// } -// -// List list = dm.getDataSetByIdentityId(i); -// System.out.println("数据集个数=" + list.size()); -// total += list.size(); -// for (Record record : list) { -// String tableName = record.getStr("table_name"); -// String dataSetName = record.getStr("dataset_name"); -// System.out.println("正在处理数据集:" + dataSetName); -// -// //省的导出全部,市州管理员只导出市州数据,县区管理员只导出县区数据 -// List tableData = new ArrayList<>(); -// String excelFileName = ""; -// String privinceName = "云南省"; -// Record privinceRecord = dm.getAreaByName(privinceName); -// String privinceId = privinceRecord.getStr("id"); -// if (i == 1) { -// //对此表中的数据进行直接导出EXCEL -// String sql = "select * from `" + tableName + "`"; -// tableData = Db.use(DataEaseModel.DB_NAME).find(sql); -// excelFileName = "【" + privinceName + "】" + dataSetName + ".xlsx"; -// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true); -// } else if (i == 2) { -// //枚举所有的市州数据,然后进行导出EXCEL -// List cityList = dm.getAreaList(privinceId); -// String cityName = ""; -// String cityId = ""; -// for (Record rCity : cityList) { -// cityName = rCity.getStr("area_name"); -// cityId = rCity.getStr("id"); -// if (i == 3) { -// -// //枚举所有的县区数据,然后进行导出EXCEL -// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true); -// } -// } -// String sql = "select * from `" + tableName + "` where `行政区划`=?"; -// System.out.println(tableName); -// tableData = Db.use(DataEaseModel.DB_NAME).find(sql, cityName); -// excelFileName = "【" + cityName + "】" + dataSetName + ".xlsx"; -// ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true); -// } -// } -// } -// System.out.println("恭喜,所有数据处理完毕,共生成数据集数量=" + total + "个。"); + Record cityRecord = dm.getAreaByName(city_name); + String cityName = cityRecord.getStr("area_name"); + String sql = "select * from `" + tableName + "` where `行政区划`=?"; + List tableData = Db.use(DataEaseModel.DB_NAME).find(sql, cityName); + String excelFileName = "【" + cityName + "】" + dataSetName + ".xlsx"; + ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true); + } + //三、导出县区的数据集 + System.out.println("正在处理县区数据集..."); + String area_name = "寻甸县"; + list = dm.getDataSetByIdentityId(3); + System.out.println("数据集个数=" + list.size()); + for (Record record : list) { + String tableName = record.getStr("table_name"); + String dataSetName = record.getStr("dataset_name"); + System.out.println("正在处理数据集:" + dataSetName); + Record areaRecord = dm.getAreaByName(area_name); + String areaName = areaRecord.getStr("area_name"); + String sql = "select * from `" + tableName + "` where `行政区划`=?"; + List tableData = Db.use(DataEaseModel.DB_NAME).find(sql, areaName); + String excelFileName = "【" + areaName + "】" + dataSetName + ".xlsx"; + ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true); + } + System.out.println("导出完成!"); + //关闭Ssh链接 session.disconnect(); } }