From e44443aba16f6b791ca2a896d6aa5d6d55fe1486 Mon Sep 17 00:00:00 2001 From: 王彬 Date: Fri, 29 Jan 2021 11:50:22 +0800 Subject: [PATCH] optimized share table tag --- build.gradle | 2 +- src/main/java/com/taover/easyexcel/analysis/v07/handlers/sax/SharedStringsTableHandler.java | 15 +++++++++------ src/test/java/com/taover/easyexcel/test/WbTest.java | 3 ++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index 522007e..23bbf02 100644 --- a/build.gradle +++ b/build.gradle @@ -54,7 +54,7 @@ uploadArchives { authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) } pom.project { - version '2.2.20' + version '2.2.22' artifactId ARTIFACT_Id groupId GROUP_ID packaging TYPE diff --git a/src/main/java/com/taover/easyexcel/analysis/v07/handlers/sax/SharedStringsTableHandler.java b/src/main/java/com/taover/easyexcel/analysis/v07/handlers/sax/SharedStringsTableHandler.java index 3fae580..cdb0958 100644 --- a/src/main/java/com/taover/easyexcel/analysis/v07/handlers/sax/SharedStringsTableHandler.java +++ b/src/main/java/com/taover/easyexcel/analysis/v07/handlers/sax/SharedStringsTableHandler.java @@ -12,11 +12,14 @@ import com.taover.easyexcel.cache.ReadCache; */ public class SharedStringsTableHandler extends DefaultHandler { private static final String T_TAG = "t"; + private static final String X_T_TAG = "x:t"; private static final String SI_TAG = "si"; + private static final String X_SI_TAG = "x:si"; /** * Mac 2016 2017 will have this extra field to ignore */ private static final String RPH_TAG = "rPh"; + private static final String X_RPH_TAG = "x:rPh"; /** * The final piece of data @@ -43,19 +46,19 @@ public class SharedStringsTableHandler extends DefaultHandler { @Override public void startElement(String uri, String localName, String name, Attributes attributes) { - if (T_TAG.equals(name)) { + if (T_TAG.equals(name) || X_T_TAG.equals(name)) { currentElementData = null; isTagt = true; - } else if (SI_TAG.equals(name)) { + } else if (SI_TAG.equals(name) || X_SI_TAG.equals(name)) { currentData = null; - } else if (RPH_TAG.equals(name)) { + } else if (RPH_TAG.equals(name) || X_RPH_TAG.equals(name)) { ignoreTagt = true; } } @Override public void endElement(String uri, String localName, String name) { - if (T_TAG.equals(name)) { + if (T_TAG.equals(name) || X_T_TAG.equals(name)) { if (currentElementData != null) { if (currentData == null) { currentData = new StringBuilder(); @@ -63,13 +66,13 @@ public class SharedStringsTableHandler extends DefaultHandler { currentData.append(currentElementData); } isTagt = false; - } else if (SI_TAG.equals(name)) { + } else if (SI_TAG.equals(name) || X_SI_TAG.equals(name)) { if (currentData == null) { readCache.put(null); } else { readCache.put(currentData.toString()); } - } else if (RPH_TAG.equals(name)) { + } else if (RPH_TAG.equals(name) || X_RPH_TAG.equals(name)) { ignoreTagt = false; } } diff --git a/src/test/java/com/taover/easyexcel/test/WbTest.java b/src/test/java/com/taover/easyexcel/test/WbTest.java index 18edbd2..8cc5d6e 100644 --- a/src/test/java/com/taover/easyexcel/test/WbTest.java +++ b/src/test/java/com/taover/easyexcel/test/WbTest.java @@ -11,7 +11,8 @@ import com.taover.easyexcel.EasyExcel; public class WbTest { public static void main(String[] args) { //File dataFile = new File("C:\\Users\\Administrator\\Desktop\\数据为空\\好合意商城_20210127_16_47(1).xlsx"); - File dataFile = new File("C:\\Users\\Administrator\\Desktop\\Excel隐藏行\\配送确认1.16(1).xlsx"); + //File dataFile = new File("C:\\Users\\Administrator\\Desktop\\Excel隐藏行\\配送确认1.16(1).xlsx"); + File dataFile = new File("C:\\Users\\Administrator\\Desktop\\Excel隐藏行\\吉祥三宝-20210128-29条(1).xlsx"); //File dataFile = new File("C:\\Users\\Administrator\\Desktop\\表头匹配-测试文件\\多sheet-多个可用-数据有无.xlsx"); // List> data = transListMapTo2List(EasyExcel.read(dataFile).readHiddenRow(false).headRowNumber(0).doReadSelectedSync()); // for(List row: data) { -- libgit2 0.21.2