main
黄海 8 months ago
parent b785e66487
commit 2f394cd00d

@ -2,6 +2,7 @@ package com.dsideal.base.Tools.FillData.ExcelKit;
import com.dsideal.base.DataEase.Model.ExcelReader; import com.dsideal.base.DataEase.Model.ExcelReader;
import com.jfinal.kit.StrKit; import com.jfinal.kit.StrKit;
import org.apache.commons.io.FileUtils;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.util.ZipSecureFile; import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
@ -542,7 +543,10 @@ public class ExcelKit {
* *
* @throws IOException * @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文件 File file = new File(wordPath);//取得word文件
FileInputStream inputStream = new FileInputStream(file); FileInputStream inputStream = new FileInputStream(file);
ZipInputStream zipInputStream = new ZipInputStream(inputStream); ZipInputStream zipInputStream = new ZipInputStream(inputStream);
@ -578,7 +582,10 @@ public class ExcelKit {
* *
* @param chartNumber * @param chartNumber
*/ */
public static List<List<String>> readChart(int chartNumber) throws DocumentException { public static List<List<String>> readChart(String sourceDoc, int chartNumber) throws DocumentException, IOException {
//将word文件解压缩
UnCompress(sourceDoc);
List<List<String>> matrix = new ArrayList<>(); List<List<String>> matrix = new ArrayList<>();
String xml = DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml"; String xml = DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml";
if (!(new File(xml).exists())) { if (!(new File(xml).exists())) {

@ -15,14 +15,11 @@ public class TestOutSideExcel {
public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException { public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException {
String sourceDoc = "c:/西双版纳州人口变化及其对教育的影响20240420.docx"; String sourceDoc = "c:/西双版纳州人口变化及其对教育的影响20240420.docx";
//需要第几个图表
//1、将word文件解压缩
ExcelKit.UnCompress(sourceDoc);
//2、我们需要第几个图表
for (int chartNumber = 1; chartNumber <= 37; chartNumber++) { for (int chartNumber = 1; chartNumber <= 37; chartNumber++) {
System.out.println("正在处理第" + chartNumber + "个图表的信息~"); System.out.println("正在处理第" + chartNumber + "个图表的信息~");
//读取图表 //读取图表
List<List<String>> list = ExcelKit.readChart( chartNumber); List<List<String>> list = ExcelKit.readChart(sourceDoc, chartNumber);
ExcelKit.printTable(list); ExcelKit.printTable(list);
System.out.println("========================================================="); System.out.println("=========================================================");
} }

Loading…
Cancel
Save