diff --git a/Doc/【待删除】可能有问题/寻甸县/寻甸县教育发展规模数据收集表.xlsx b/Doc/【待删除】可能有问题/寻甸县/寻甸县教育发展规模数据收集表.xlsx deleted file mode 100644 index 8f6df64d..00000000 Binary files a/Doc/【待删除】可能有问题/寻甸县/寻甸县教育发展规模数据收集表.xlsx and /dev/null differ diff --git a/Doc/【待删除】可能有问题/嵩明县/嵩明县教育发展规模数据收集表.xlsx b/Doc/【待删除】可能有问题/嵩明县/嵩明县教育发展规模数据收集表.xlsx deleted file mode 100644 index 8eba4c9a..00000000 Binary files a/Doc/【待删除】可能有问题/嵩明县/嵩明县教育发展规模数据收集表.xlsx and /dev/null differ diff --git a/Doc/【待删除】可能有问题/禄劝县/禄劝县人口变化趋势对基础教育的影响.docx b/Doc/【待删除】可能有问题/禄劝县/禄劝县人口变化趋势对基础教育的影响.docx deleted file mode 100644 index 9a7fb8db..00000000 Binary files a/Doc/【待删除】可能有问题/禄劝县/禄劝县人口变化趋势对基础教育的影响.docx and /dev/null differ diff --git a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx index 391703b6..fe56e2e6 100644 Binary files a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx and b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx differ diff --git a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx index 7b108015..48e36771 100644 Binary files a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx and b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx differ diff --git a/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java b/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java index 23c5751b..9b3eea19 100644 --- a/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java +++ b/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java @@ -99,6 +99,7 @@ public class A9 { for (List row : source1) { String year = row.getFirst().split("\\.")[0]; + year = year.replace("年", ""); Row outRow = outSheet.createRow(++rowIndex); String q1 = row.get(1); if (StrKit.isBlank(q1)) { @@ -128,6 +129,7 @@ public class A9 { for (List row : source2) { String year = row.getFirst().split("\\.")[0]; + year = year.replace("年", ""); Row outRow = outSheet.createRow(++rowIndex); String q1 = row.get(1); if (StrKit.isBlank(q1)) { diff --git a/src/main/java/com/dsideal/base/Tools/Step3_DataSetFakeData.java b/src/main/java/com/dsideal/base/Tools/Step3_DataSetFakeData.java deleted file mode 100644 index 77339af9..00000000 --- a/src/main/java/com/dsideal/base/Tools/Step3_DataSetFakeData.java +++ /dev/null @@ -1,168 +0,0 @@ -package com.dsideal.base.Tools; - -import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; -import com.jfinal.plugin.activerecord.Db; -import com.jfinal.plugin.activerecord.Record; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class Step3_DataSetFakeData { - public static DataEaseModel dm = new DataEaseModel(); - - /** - * 拷贝昆明市的数据 - * - * @param table_name - * @param area_name - */ - public static void CopyData(String table_name, String source_area_name, String area_name, String parent_name) { - String sql = "select * from `" + table_name + "` where `行政区划`='" + source_area_name + "'"; - List list = Db.use(DataEaseModel.DB_NAME).find(sql); - for (Record r : list) { - r.set("行政区划", area_name); - r.set("上级行政区划", parent_name); - r.remove("id"); - } - System.out.println(table_name); - Db.use(DataEaseModel.DB_NAME).batchSave(table_name, list, 100); - } - - /** - * 删除某地数据 - * - * @param table_name - * @param area_name - */ - public static void deleteData(String table_name, String area_name) { - String sql = "delete from `" + table_name + "` where `行政区划`='" + area_name + "'"; - Db.use(DataEaseModel.DB_NAME).update(sql); - } - - public static void main(String[] args) throws IOException { - //切换至测试数据库 - //DataEaseModel.DB_NAME = "dataease_huanghai"; - - //初始化数据库链接 - LocalMysqlConnectUtil.Init(); - - DataEaseModel dm = new DataEaseModel(); - - //这几个是要保留的地名 - List keepArea = Arrays.asList("云南省", "昆明市", "楚雄州", "寻甸县"); - //所有市州 - Record rPrinvice = dm.getAreaByName("云南省"); - String province_id = rPrinvice.getStr("id"); - List listCity = dm.getAreaList(province_id); -// int identity_id = 1; -// //完善省级数据 -// List list = dm.getDataSetByIdentityId(identity_id, null); -// for (Record record : list) { -// String table_name = record.getStr("table_name"); -// System.out.println("正在处理数据集:" + table_name); -// String sql = "update `" + table_name + "` set `行政区划`='云南省' where `行政区划` is null"; -// Db.use(DataEaseModel.DB_NAME).update(sql); -// sql = "update `" + table_name + "` set `上级行政区划`='云南省' where `上级行政区划` is null"; -// Db.use(DataEaseModel.DB_NAME).update(sql); -// } -// -// //拷贝城市数据 -// for (Record rCity : listCity) { -// //城市名称 -// String area_name = rCity.getStr("area_name"); -// //如果在保留名单中,则跳过 -// if (keepArea.contains(area_name)) { -// continue; -// } -// //遍历所有市州数据集 -// identity_id = 2; -// list = dm.getDataSetByIdentityId(identity_id, null); -// for (Record record : list) { -// String table_name = record.getStr("table_name"); -// System.out.println("正在处理数据集:" + area_name + " " + table_name); -// //检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝昆明市的数据 -// deleteData(table_name, area_name); -// CopyData(table_name, "昆明市", area_name, "云南省"); -// } -// } -// //获取所有县区 -// List listArea = dm.getProvinceArea("云南省"); -// for (Record rArea : listArea) { -// //城市名称 -// String area_name = rArea.getStr("area_name"); -// String parent_id = rArea.getStr("parent_id"); -// //隶属哪个市州 -// Record parentRecord = dm.getAreaById(parent_id); -// String parent_name = parentRecord.getStr("area_name"); -// //如果在保留名单中,则跳过 -// if (keepArea.contains(area_name)) { -// continue; -// } -// //遍历所有县区数据集 -// identity_id = 3; -// list = dm.getDataSetByIdentityId(identity_id, null); -// for (Record record : list) { -// String table_name = record.getStr("table_name"); -// System.out.println(area_name + "正在处理数据集:" + table_name); -// //检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝寻甸县的数据 -// deleteData(table_name, area_name); -// CopyData(table_name, "寻甸县", area_name, parent_name); -// } -// } - - - //市州净注入与净流出的数据集 - String tableName = "excel_区域人口流动分布_193751804a"; - for (Record record : listCity) { - String cityName = record.getStr("area_name"); - String sql = "delete from `" + tableName + "` where `行政区划`='" + cityName + "'"; - Db.use(DataEaseModel.DB_NAME).update(sql); - System.out.println(cityName + "正在处理数据集:" + tableName); - //if (keepArea.contains(cityName)) continue; - Record rCity = dm.getAreaByName(cityName); - List lArea = dm.getAreaList(rCity.getStr("id")); - List writeList = new ArrayList<>(); - int x = 0; - for (Record r : lArea) { - x++; - Record rArea = new Record(); - rArea.set("行政区划", cityName); - rArea.set("下级行政区划", r.getStr("area_name")); - rArea.set("类型", x % 2 == 1 ? "净流出" : "净流入"); - rArea.set("数值", 900); - writeList.add(rArea); - } - Db.use(DataEaseModel.DB_NAME).batchSave(tableName, writeList, 100); - } - - -// //县区净注入与净流出的数据集 -// String tableName = "excel_区域人口流动分布_374179b760"; -// int x=0; -// for (Record record : listCity) { -// x++; -// String cityName = record.getStr("area_name"); -// if (keepArea.contains(cityName)) continue; -// String sql = "delete from `" + tableName + "` where `上级行政区划`='" + cityName + "'"; -// Db.use(DataEaseModel.DB_NAME).update(sql); -// -// System.out.println(cityName + "正在处理数据集:" + tableName); -// Record rCity = dm.getAreaByName(cityName); -// List lArea = dm.getAreaList(rCity.getStr("id")); -// List writeList = new ArrayList<>(); -// for (Record r : lArea) { -// Record rArea = new Record(); -// rArea.set("上级行政区划", cityName); -// rArea.set("行政区划", r.getStr("area_name")); -// rArea.set("类型", x % 2 == 1 ? "净流出" : "净流入"); -// rArea.set("数值(人)", 2313250); -// writeList.add(rArea); -// } -// Db.use(DataEaseModel.DB_NAME).batchSave(tableName, writeList, 100); -// } - - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Step5_ReaderExcel.java b/src/main/java/com/dsideal/base/Tools/Step5_ReaderExcel.java deleted file mode 100644 index de7bc38e..00000000 --- a/src/main/java/com/dsideal/base/Tools/Step5_ReaderExcel.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.dsideal.base.Tools; - -import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit; -import org.apache.poi.ss.usermodel.*; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -import java.io.FileInputStream; -import java.io.IOException; - -public class Step5_ReaderExcel { - - - public static void main(String[] args) throws IOException { - String filePath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\区\\【1】学前幼儿入园总量预测\\鲁甸县教育发展规模数据收集表.xlsx"; - //第一个表格的宽度=23 - int firstTableWidth = ExcelKit.transLetter2Num("W") + 1; - //第二个表格的宽度=11 - int secondTableWidth = ExcelKit.transLetter2Num("K") + 1; - - System.out.println(firstTableWidth); - System.out.println(secondTableWidth); - - FileInputStream fis = new FileInputStream(filePath); - Workbook workbook = new XSSFWorkbook(fis); - //遍历前4个工作表 - for (int i = 0; i < 4; i++) { - Sheet sheet = workbook.getSheetAt(i); - System.out.println("Sheet Name: " + sheet.getSheetName()); - int skipRows = 2;//放过头两行 - int rowIndex; - for (rowIndex = skipRows; rowIndex <= sheet.getLastRowNum(); rowIndex++) { - Row row = sheet.getRow(rowIndex); - if (row == null) break; - // 读取表格数据 - for (int j = 0; j < firstTableWidth; j++) { - Cell cell = row.getCell(j); - if (cell != null) - System.out.print(ExcelKit.readCell(cell)+"\t"); - } - System.out.println(); - } - //之所以减1,是因为是在判断为空时才停止,也就是过了真实数据一行后,所以要减1 - System.out.println("第一个表格开始行索引=2,结束行索引=" + (rowIndex - 1)); - - //第二个表格 - //从rowIndex开始,向下面查找,直到第一列中出现文字“自动计算招生数、在校生数”,此行的再下一行就是真正的第二个表格的开始位置 - int secondTableStartRowIndex = -1, secondTableEndRowIndex = -1; - //找到开始行 - for (; rowIndex <= sheet.getLastRowNum(); rowIndex++) { - Row row = sheet.getRow(rowIndex); - if (row != null && row.getCell(0) != null - && row.getCell(0).toString().contains("自动计算招生数、在校生数")) { - if (secondTableStartRowIndex == -1) - secondTableStartRowIndex = rowIndex; - } - if (secondTableStartRowIndex > 0 && row == null) { - secondTableEndRowIndex = rowIndex - 1; - break; - } - } - //表头有两行,需要加2 - secondTableStartRowIndex += 2; - //输出第二个表格的开始行索引和结束行索引 - System.out.println("第二个表格开始行索引=" + secondTableStartRowIndex + ",结束行索引=" + secondTableEndRowIndex); - //输出第二个表格的数据 - for (rowIndex = secondTableStartRowIndex; rowIndex <= secondTableEndRowIndex; rowIndex++) { - Row row = sheet.getRow(rowIndex); - for (int j = 0; j < secondTableWidth; j++) { - Cell cell = row.getCell(j); - // 如果单元格是公式类型 - if (cell.getCellType() == CellType.FORMULA) { - // 计算公式结果 - cell.setCellType(CellType.NUMERIC); - } - ExcelKit.readCell(cell); - } - System.out.println(); - } - } - workbook.close(); - fis.close(); - } -} \ No newline at end of file diff --git a/src/main/java/com/dsideal/base/Tools/Test/ConvertExcel.java b/src/main/java/com/dsideal/base/Tools/Test/ConvertExcel.java deleted file mode 100644 index 921114c2..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/ConvertExcel.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import cn.hutool.poi.excel.ExcelReader; -import cn.hutool.poi.excel.ExcelUtil; -import cn.hutool.poi.excel.ExcelWriter; - -import java.io.File; -import java.io.IOException; -import java.util.*; - -public class ConvertExcel { - // 获取系统的临时文件目录 - private static final String tempDir = System.getProperty("java.io.tmpdir"); - - public static void main(String[] args) throws IOException { - String source = "D:\\dsWork\\dsProject\\dsBase\\src\\main\\java\\com\\dsideal\\base\\Tools\\Sample.xlsx"; - File file = new File(source); - //哪些列是固定不动的,比如此处是第0列与第1列是不动的,就是年份+学段 - List fixedColumns = new ArrayList<>(); - fixedColumns.add(0); - fixedColumns.add(1); - - //每列的列号与列名对应关系 - String[] colNames = new String[1024]; - int cl = 0; - - // 读取Excel数据 - ExcelReader reader = ExcelUtil.getReader(file); - // 创建临时文件,文件名具有随机UUID,扩展名为.xlsx - - //利用uuid生成一个临时文件名 - String uuidFileName = UUID.randomUUID().toString().toUpperCase() + ".xlsx"; - String output = tempDir + uuidFileName; - // 创建一个ExcelWriter对象,初始化时会创建一个空的Excel文件 - ExcelWriter writer = ExcelUtil.getWriter(output); - //表头 - List> read = reader.read(0, 0);//第0行是表头 - for (int i = 0; i < reader.getColumnCount(); i++) { - colNames[cl++] = read.getFirst().get(i).toString(); - } - - //数据 - List> data = reader.read(1, reader.getRowCount());//从第1行读取到最后一行 - for (List row : data) { - //拆分每一行的数据 - for (int i = 0; i < reader.getColumnCount(); i++) { - if (!fixedColumns.contains(i)) {//非fixedColumns列进行枚举 - - List rowData = new ArrayList<>(); - //输出固定列的名称和值 - for (int cNum : fixedColumns) { - String value = row.get(cNum).toString();//列值 - rowData.add(value); - } - String cName = colNames[i];//列名 - String value = row.get(i).toString(); - rowData.add(cName); - rowData.add(value); - writer.writeRow(rowData); - } - } - } - writer.flush(); - writer.close(); - reader.close(); - - /***************************************************************************************/ - //上面的代码没动过,下面是新写的 - reader = ExcelUtil.getReader(output); - //前面固定的 - List header = new ArrayList<>(); - header.add("年份"); - header.add("学段"); - header.add("区域分类"); - header.add("总量分类"); - header.add("区域数值"); - header.add("总量数值"); - - // 写入表头 - uuidFileName = UUID.randomUUID().toString().toUpperCase() + ".xlsx"; - output = tempDir + uuidFileName; - writer = ExcelUtil.getWriter(output); - writer.writeHeadRow(header); - - //还需要继续扩展EXCEL模板,实现数据转换 - Set setArea = new HashSet<>(); - setArea.add("城区"); - setArea.add("镇区"); - setArea.add("乡村"); - - List> res = new ArrayList<>(); - data = reader.read(1, reader.getRowCount());//从第1行读取到最后一行 - for (List row : data) { - List rowData = new ArrayList<>(); - //输出固定列的名称和值 - rowData.add(row.get(0).toString());//年度 - rowData.add(row.get(1).toString());//学段 - - if (setArea.contains(row.get(2).toString())) {//如果是城区、镇区、乡村 - rowData.add(row.get(2).toString()); - rowData.add(""); - rowData.add(row.get(3).toString()); - rowData.add(""); - } else { - rowData.add(""); - rowData.add(row.get(2).toString()); - rowData.add(""); - rowData.add(row.get(3).toString()); - } - res.add(rowData); - } - - // 排序 - Collections.sort(res, new Comparator>() { - @Override - public int compare(List o1, List o2) { - // 先比较年份 -// int yearCompare = o1.get(0).compareTo(o2.get(0)); -// if (yearCompare != 0) { -// return yearCompare; -// } - - // 年份相同,比较学段 - int stageCompare = o1.get(1).compareTo(o2.get(1)); - if (stageCompare != 0) { - return stageCompare; - } - - // 学段相同,比较区域分类 - int areaCompare = o1.get(2).compareTo(o2.get(2)); - if (areaCompare != 0) { - return areaCompare; - } - - // 区域分类相同,比较总量分类 - return o1.get(3).compareTo(o2.get(3)); - } - }); - for (List re : res) { - writer.writeRow(re); - } - - reader.close(); - writer.flush(); - writer.close(); - //打开文件所在目录,并聚焦文件 - Runtime.getRuntime().exec("explorer.exe /e,/select," + output); - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Test/ExportExcel.java b/src/main/java/com/dsideal/base/Tools/Test/ExportExcel.java deleted file mode 100644 index 0679517b..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/ExportExcel.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; -import com.jcraft.jsch.JSchException; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -import com.jfinal.plugin.activerecord.Record; - -public class ExportExcel { - public static DataEaseModel dm = new DataEaseModel(); - - public static void main(String[] args) throws IOException, JSchException { - LocalMysqlConnectUtil.Init(); - - //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,null); - 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); - dm.exportExcel(1, tableName, exportPath, privinceName); - } - //二、导出市的数据集 - System.out.println("正在处理市数据集..."); - String city_name = "昆明市"; - list = dm.getDataSetByIdentityId(2,null); - System.out.println("数据集个数=" + list.size()); - for (Record record : list) { - String tableName = record.getStr("table_name"); - String dataSetName = record.getStr("dataset_name").replace("\\", "").replace("/", ""); - System.out.println("正在处理数据集:" + dataSetName); - - Record cityRecord = dm.getAreaByName(city_name); - String cityName = cityRecord.getStr("area_name"); - dm.exportExcel(2, tableName, exportPath, cityName); - } - //三、导出县区的数据集 - System.out.println("正在处理县区数据集..."); - String area_name = "寻甸县"; - list = dm.getDataSetByIdentityId(3,null); - System.out.println("数据集个数=" + list.size()); - for (Record record : list) { - String tableName = record.getStr("table_name"); - String dataSetName = record.getStr("dataset_name").replace("\\", "").replace("/", ""); - System.out.println("正在处理数据集:" + dataSetName); - - Record areaRecord = dm.getAreaByName(area_name); - String areaName = areaRecord.getStr("area_name"); - dm.exportExcel(3, tableName, exportPath, areaName); - } - System.out.println("导出完成!"); - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestBadExcel.java b/src/main/java/com/dsideal/base/Tools/Test/TestBadExcel.java deleted file mode 100644 index becdaa67..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/TestBadExcel.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import cn.hutool.core.io.FileUtil; -import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit; -import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.util.ZipSecureFile; -import org.apache.poi.xwpf.usermodel.XWPFChart; -import org.apache.poi.xwpf.usermodel.XWPFDocument; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; - -public class TestBadExcel { - //开始读取市州word文档 - static String parentPath = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\16个州市报告2022\\分析报告20240510"; - - //示例Excel - static String sampleExcelPath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\市\\【11】教育资源配置发展预测\\教育资源配置发展预测(人).xlsx"; - - public static void main(String[] args) throws IOException, InvalidFormatException { - //初始化数据库连接 - LocalMysqlConnectUtil.Init(); - //实例化 - - - - //找到parentPath下一级目录中所有文件 - List files = FileUtil.loopFiles(parentPath, file -> true); - int rowIndex = 0; - //处理这个目录 - if (files != null) { - for (File file : files) { - //判断file是不是目录,是目录的需要跳过 - if (file.isDirectory()) continue; - //城市名称 - DataEaseModel dm=new DataEaseModel(); - String cityName = dm.getCityName(file.getName()); - String fileName = file.getName(); - - //判断是否为docx文件 - if (fileName.endsWith(".docx") && !fileName.startsWith("~")) { - System.out.println("正在处理" + cityName + "市州文件..."); - //读取文件 - String inputUrl = file.getAbsolutePath(); - InputStream is = new FileInputStream(inputUrl); - ZipSecureFile.setMinInflateRatio(-1.0d); - XWPFDocument doc = new XWPFDocument(is); - //排序后的图表 - List charts = ExcelKit.getSortListForXWPFChart(doc.getCharts()); - - //数据在图表36,教职工总量 - int firstChartNumber = 36; - if(cityName.contains("西双版纳州")){ - System.out.println("he"); - } - charts.get(firstChartNumber - 1).getWorkbook(); - } - } - } - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestC2.java b/src/main/java/com/dsideal/base/Tools/Test/TestC2.java deleted file mode 100644 index 0903c5cc..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/TestC2.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.util.ZipSecureFile; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.apache.poi.xwpf.usermodel.XWPFChart; -import org.apache.poi.xwpf.usermodel.XWPFDocument; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; - -public class TestC2 { - - - public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException { - - //处理这个目录 - //判断file是不是目录,是目录的需要跳过 - //城市名称 - File file = new File("D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\16个州市报告2022\\分析报告20240510\\昭通市人口变化及其对教育的影响20240416.docx"); - String fileName = file.getAbsolutePath(); - - - InputStream is = new FileInputStream(fileName); - ZipSecureFile.setMinInflateRatio(-1.0d); - XWPFDocument doc = new XWPFDocument(is); - //排序后的图表 - List charts = ExcelKit.getSortListForXWPFChart(doc.getCharts()); - - System.out.println("图表个数=" + charts.size()); - //第34个图表读取不出来 - XSSFWorkbook workbook = charts.get(33).getWorkbook(); - System.out.println("正在读取第34个图表数据..."); - List> data = ExcelKit.readSheet(workbook, 2); - System.out.println("数据条数=" + data.size()); - is.close(); - ExcelKit.printTable(data); - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestCallPython.java b/src/main/java/com/dsideal/base/Tools/Test/TestCallPython.java deleted file mode 100644 index b45c349b..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/TestCallPython.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit; - -import java.io.*; -import java.util.List; - -public class TestCallPython { - - - public static void main(String[] args) throws InterruptedException, IOException { - //哪个word文档 - String docPath = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\16个州市报告2022\\分析报告20240510\\丽江市人口变化及其对教育的影响20240418.docx"; - //第几个图表 - int tuBiaoNum = 1; - //Excel文件生成位置 - String excelPath = "c:/task.xlsx"; - - //读取生成的EXCEL,使用POI就可以了 - List> sheetList = ExcelKit.readSheet(excelPath, 1); - System.out.println(sheetList); - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestCityArea.java b/src/main/java/com/dsideal/base/Tools/Test/TestCityArea.java deleted file mode 100644 index 801678ca..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/TestCityArea.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; -import com.jfinal.plugin.activerecord.Db; -import com.jfinal.plugin.activerecord.Record; - -import java.util.List; - -public class TestCityArea { - public static void main(String[] args) throws Exception { - LocalMysqlConnectUtil.Init(); - //实例化 - DataEaseModel dm=new DataEaseModel(); - List list = dm.getCityNameList(); - for (String s : list) { - String sql = "select id from t_dm_area where area_name=?"; - String area_id = Db.queryStr(sql, s); - sql = "select * from t_dm_area where parent_id=?"; - List records = Db.find(sql, area_id); - for (Record record : records) { - String area_name = record.getStr("area_name"); - System.out.println(s+" "+area_name); - } - } - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestMulti.java b/src/main/java/com/dsideal/base/Tools/Test/TestMulti.java deleted file mode 100644 index 79b8416c..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/TestMulti.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.util.ZipSecureFile; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.apache.poi.xwpf.usermodel.XWPFChart; -import org.apache.poi.xwpf.usermodel.XWPFDocument; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; - -public class TestMulti { - - public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException { - String path = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\16个州市报告2022\\分析报告20240510"; - //获取此目录下所有的文件,需要以docx结尾,并且,不能以~开头 - File file = new File(path); - File[] files = file.listFiles(); - for (File f : files) { - if (f.getName().endsWith(".docx") && !f.getName().startsWith("~")) { - String sourceWord = f.getAbsolutePath(); - InputStream is = new FileInputStream(sourceWord); - ZipSecureFile.setMinInflateRatio(-1.0d); - XWPFDocument doc = new XWPFDocument(is); - //直接输出图表数量 - //System.out.println("doc.getCharts=" + doc.getCharts().size()); - List chartList = doc.getCharts(); - //排序后的图表 - chartList = ExcelKit.getSortListForXWPFChart(chartList); - //遍历输出 - for (int i = 0; i < chartList.size(); i++) { - XWPFChart chart = chartList.get(i); - XSSFWorkbook workbook = chart.getWorkbook(); - XSSFSheet sheet = workbook.getSheetAt(0); - if (sheet.getPhysicalNumberOfRows() == 0) { - System.out.println(sourceWord + ",第" + (i + 1) + "个图表需要人工编辑一下Sheet名称,否则无法读取!==="); - } - } - //关闭流 - is.close(); - } - } - } -} diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestRead.java b/src/main/java/com/dsideal/base/Tools/Test/TestRead.java deleted file mode 100644 index 331fa343..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/TestRead.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit; -import org.apache.poi.ss.usermodel.*; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -import java.io.FileInputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class TestRead { - - public static void main(String[] args) throws IOException { - //待读取的EXCEL文件 - String filePath = "C:\\Users\\Administrator\\全省及州市县区人口与教育报告集20241023\\全省及州市县区人口与教育报告集20241023\\133个县区报告2022\\县区研究报告\\文山州各县市报告8\\马关县\\马关县教育发展规模数据收集表-20240418.xlsx"; - //表格正文上方的文字 - String keyword = "自动计算招生数、在校生数"; - - //遍历每个Sheet - for (int k = 0; k < 4; k++) { - //为什么headRows=2?答:因为有一行是关键字,下一行是表头,共2行 - //letterIndex=K,表示第二个表格最后一列是字母K - List> dataList = ExcelKit.readSecondTable(filePath, k, keyword, 2, "K"); - //输出数据 - for (int i = 0; i < dataList.size(); i++) { - for (int j = 0; j < dataList.get(i).size(); j++) { - System.out.print(dataList.get(i).get(j) + " "); - } - System.out.println(); - } - } - - } -} \ No newline at end of file diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestXml.java b/src/main/java/com/dsideal/base/Tools/Test/TestXml.java deleted file mode 100644 index 4bddb25c..00000000 --- a/src/main/java/com/dsideal/base/Tools/Test/TestXml.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dsideal.base.Tools.Test; - -import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.dom4j.DocumentException; - -import java.io.IOException; -import java.util.*; - -public class TestXml { - - - public static void main(String[] args) throws DocumentException, IOException, InterruptedException, InvalidFormatException { - String sourceDoc = "c:/西双版纳州人口变化及其对教育的影响20240420.docx"; - List> res = ExcelKit.getChartData(sourceDoc, 1,0); - ExcelKit.printTable(res); -// for (int chartNumber = 1; chartNumber <= 37; chartNumber++) { -// String xml = ExcelKit.DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml"; -// List> res = ExcelKit.getChartDataByXml(xml); -// //输出转置后的数据 -// System.out.println("正在输出第" + chartNumber + "个图表的数据"); -// ExcelKit.printTable(res); -// } - } -} \ No newline at end of file