main
黄海 9 months ago
parent 50c7d858bf
commit 0980d4259f

@ -70,17 +70,12 @@ public class C1 {
//图表 //图表
List<XWPFChart> charts = doc.getCharts(); List<XWPFChart> charts = doc.getCharts();
//1号模板数据在图表5和28中 //1号模板数据在图表5和28中
XWPFChart chart = charts.get(4); XSSFWorkbook workbook = charts.get(4).getWorkbook();
XSSFWorkbook workbook = chart.getWorkbook();
// 要读取的数据源
List<List<String>> source1 = ExcelKit.readSheet(workbook); List<List<String>> source1 = ExcelKit.readSheet(workbook);
chart = charts.get(27); XSSFWorkbook workbook2 = charts.get(27).getWorkbook();
workbook = chart.getWorkbook(); List<List<String>> source2 = ExcelKit.readSheet(workbook2);
// 要读取的数据源
List<List<String>> source2 = ExcelKit.readSheet(workbook);
//遍历source1 //遍历source1
@ -140,6 +135,7 @@ public class C1 {
for (int k = 0; k < areaList.size(); k++) { for (int k = 0; k < areaList.size(); k++) {
String areaName = areaList.get(k); String areaName = areaList.get(k);
for (int i = 0; i < source1.size(); i++) { for (int i = 0; i < source1.size(); i++) {
List<String> r = source1.get(i); List<String> r = source1.get(i);
rowIndex++; rowIndex++;

@ -34,40 +34,43 @@ public class Step4_ReaderWord {
if (!extension.equals("docx")) continue; if (!extension.equals("docx")) continue;
//城市名称 //城市名称
String cityName = ru.getCityOrAreaName(file.getName()); String cityName = ru.getCityOrAreaName(file.getName());
ru.doOne(file, cityName, excelDir); if(cityName!=null && cityName.equals("迪庆藏族自治州")){
ru.doOne(file, cityName, excelDir);
}
} }
} }
System.out.println("市州所有文件处理完成!"); System.out.println("市州所有文件处理完成!");
//开始处理区县word文档 // //开始处理区县word文档
String directoryPath = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\133个县区报告2022\\县区研究报告"; // String directoryPath = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\133个县区报告2022\\县区研究报告";
// 调用 Hutool 的 FileUtil.loopFiles 方法递归获取所有文件 // // 调用 Hutool 的 FileUtil.loopFiles 方法递归获取所有文件
List<File> areaFiles = FileUtil.loopFiles(directoryPath, file -> { // List<File> areaFiles = FileUtil.loopFiles(directoryPath, file -> {
// 这里可以添加你的过滤条件,如果不需要过滤,返回 true 即可 // // 这里可以添加你的过滤条件,如果不需要过滤,返回 true 即可
return true; // return true;
}); // });
//处理这个目录 // //处理这个目录
if (files != null) { // if (files != null) {
for (File file : areaFiles) { // for (File file : areaFiles) {
//判断file是不是目录是目录的需要跳过 // //判断file是不是目录是目录的需要跳过
if (file.isDirectory()) continue; // if (file.isDirectory()) continue;
//城市名称 // //城市名称
String areaName = ru.getCityOrAreaName(file.getName()); // String areaName = ru.getCityOrAreaName(file.getName());
String root = "D:\\dsWork\\YunNanDsBase\\Doc\\Excel\\县区"; // String root = "D:\\dsWork\\YunNanDsBase\\Doc\\Excel\\县区";
excelDir = new File(root); // excelDir = new File(root);
//如果不存在则创建 // //如果不存在则创建
if (!excelDir.exists()) excelDir.mkdirs(); // if (!excelDir.exists()) excelDir.mkdirs();
if (!StrKit.isBlank(areaName)) { // if (!StrKit.isBlank(areaName)) {
//获取此文件的所属市州 // //获取此文件的所属市州
//D:\dsWork\YunNanDsBase\Doc\全省及州市县区人口与教育报告集20241023\133个县区报告2022\县区研究报告\保山市各县区报告5 // //D:\dsWork\YunNanDsBase\Doc\全省及州市县区人口与教育报告集20241023\133个县区报告2022\县区研究报告\保山市各县区报告5
String[] c = file.getAbsolutePath().split("\\\\"); // String[] c = file.getAbsolutePath().split("\\\\");
String cityName = ru.getCityOrAreaName(c[7]); // String cityName = ru.getCityOrAreaName(c[7]);
excelDir = new File(root + "\\" + cityName); // excelDir = new File(root + "\\" + cityName);
if (!excelDir.exists()) excelDir.mkdirs(); // if (!excelDir.exists()) excelDir.mkdirs();
ru.doOne(file, areaName, excelDir); // ru.doOne(file, areaName, excelDir);
} // }
} // }
} // }
System.out.println("县区所有文件处理完成!"); // System.out.println("县区所有文件处理完成!");
} }
} }

@ -121,6 +121,9 @@ public class ReadDocxUtil {
List<XWPFChart> charts = doc.getCharts(); List<XWPFChart> charts = doc.getCharts();
//System.out.println("图表数量=" + charts.size() + ",图例个数=" + num); //System.out.println("图表数量=" + charts.size() + ",图例个数=" + num);
for (int i = 0; i < charts.size(); i++) { for (int i = 0; i < charts.size(); i++) {
if(i==4){
System.out.println("Here!");
}
XWPFChart chart = charts.get(i); XWPFChart chart = charts.get(i);
XSSFWorkbook workbook = chart.getWorkbook(); XSSFWorkbook workbook = chart.getWorkbook();
// 创建FileOutputStream对象用于写入新的Excel文件 // 创建FileOutputStream对象用于写入新的Excel文件

Loading…
Cancel
Save