main
黄海 8 months ago
parent 340ba10bba
commit ea6140b508

@ -1,5 +1,6 @@
package com.dsideal.base.Tools.FillData.City;
import cn.hutool.core.io.FileUtil;
import com.dsideal.base.DataEase.Model.ExcelReader;
import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit;
import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil;
@ -20,30 +21,27 @@ import java.util.Arrays;
import java.util.List;
public class C1 {
//开始读取市州word文档
static String parentPath = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\16个州市报告2022\\分析报告20240510";
//示例Excel
static String sampleExcelPath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\市\\【1】学前教育入园总量变化及预测\\学前教育入园总量变化及预测.xlsx";
public static void main(String[] args) throws IOException, InvalidFormatException {
//初始化数据库连接
LocalMysqlConnectUtil.Init();
//实例化
ReadDocxUtil ru = new ReadDocxUtil();
//开始读取市州word文档
String parentPath = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\16个州市报告2022\\分析报告20240510";
//示例Excel
String sampleExcelPath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\市\\【1】学前教育入园总量变化及预测\\学前教育入园总量变化及预测.xlsx";
//目标Excel,就是把文件名解析出来后,后面添加上【成果】,需要动态计算获取,不能写死
String excelPath = sampleExcelPath.replace(".xlsx", "【成果】.xlsx");
ExcelKit.delExcel(excelPath);
//目标Excel
//结果Excel
XSSFWorkbook outWorkbook = new XSSFWorkbook();
//目标Sheet
//结果Sheet
XSSFSheet outSheet = ExcelKit.CreateSheet(outWorkbook);
//应用样式
//样式
XSSFCellStyle headerStyle = ExcelKit.getHeaderStyle(outWorkbook);
XSSFCellStyle dataStyle = ExcelKit.getDataStyle(outWorkbook);
@ -51,7 +49,7 @@ public class C1 {
ExcelKit.CopyHead(sampleExcelPath, outSheet, headerStyle);
//找到parentPath下一级目录中所有文件
File[] files = new File(parentPath).listFiles();
List<File> files = FileUtil.loopFiles(parentPath, file -> true);
int rowIndex = 0;
//处理这个目录
if (files != null) {
@ -64,12 +62,12 @@ public class C1 {
//判断是否为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<XWPFChart> charts = ExcelKit.getSortListForXWPFChart(doc.getCharts());
@ -132,13 +130,10 @@ public class C1 {
}
}
}
System.out.println("正在处理" + cityName + "市州文件...");
}
}
FileOutputStream fileOut = new FileOutputStream(excelPath);
outWorkbook.write(fileOut);
outWorkbook.close();
//保存文件
ExcelKit.saveExcel(excelPath, outWorkbook);
System.out.println("市州所有文件处理完成!");
}
}

@ -10,6 +10,8 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFChart;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@ -261,4 +263,16 @@ public class ExcelKit {
}
return charts;
}
/**
*
* @param excelPath
* @param outWorkbook
* @throws IOException
*/
public static void saveExcel(String excelPath, XSSFWorkbook outWorkbook) throws IOException {
FileOutputStream fileOut = new FileOutputStream(excelPath);
outWorkbook.write(fileOut);
outWorkbook.close();
}
}

Loading…
Cancel
Save