From 2f394cd00dca0ef0c128b1e478b5fd0293642b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Tue, 19 Nov 2024 10:41:08 +0800 Subject: [PATCH] 'commit' --- .../base/Tools/FillData/ExcelKit/ExcelKit.java | 11 +++++++++-- .../com/dsideal/base/Tools/Test/TestOutSideExcel.java | 7 ++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java b/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java index fdb46e3d..5c5150eb 100644 --- a/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java +++ b/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java @@ -2,6 +2,7 @@ package com.dsideal.base.Tools.FillData.ExcelKit; import com.dsideal.base.DataEase.Model.ExcelReader; import com.jfinal.kit.StrKit; +import org.apache.commons.io.FileUtils; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.util.ZipSecureFile; import org.apache.poi.ss.usermodel.*; @@ -542,7 +543,10 @@ public class ExcelKit { * * @throws IOException */ - public static void UnCompress(String wordPath) throws IOException { + private static void UnCompress(String wordPath) throws IOException { + if (new File(DocxUnzipDirectory).exists()) { + FileUtils.deleteDirectory(new File(DocxUnzipDirectory)); + } File file = new File(wordPath);//取得word文件 FileInputStream inputStream = new FileInputStream(file); ZipInputStream zipInputStream = new ZipInputStream(inputStream); @@ -578,7 +582,10 @@ public class ExcelKit { * * @param chartNumber */ - public static List> readChart(int chartNumber) throws DocumentException { + public static List> readChart(String sourceDoc, int chartNumber) throws DocumentException, IOException { + //将word文件解压缩 + UnCompress(sourceDoc); + List> matrix = new ArrayList<>(); String xml = DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml"; if (!(new File(xml).exists())) { diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java b/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java index 5ab05d94..7fa86e04 100644 --- a/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java +++ b/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java @@ -15,14 +15,11 @@ public class TestOutSideExcel { public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException { String sourceDoc = "c:/西双版纳州人口变化及其对教育的影响20240420.docx"; - - //1、将word文件解压缩 - ExcelKit.UnCompress(sourceDoc); - //2、我们需要第几个图表 + //需要第几个图表 for (int chartNumber = 1; chartNumber <= 37; chartNumber++) { System.out.println("正在处理第" + chartNumber + "个图表的信息~"); //读取图表 - List> list = ExcelKit.readChart( chartNumber); + List> list = ExcelKit.readChart(sourceDoc, chartNumber); ExcelKit.printTable(list); System.out.println("========================================================="); }