From f78fc6a6b62703ff58a23e80d29cba35f41b8592 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 16 Jun 2020 15:48:53 +0800 Subject: [PATCH] 1.提交Excel文件生成代码优化 --- build.gradle | 2 +- src/main/java/com/taover/util/BasicType.java | 43 +++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/taover/util/ClassUtil.java | 22 ++++++++++++++++++++++ src/main/java/com/taover/util/UtilExcel.java | 41 ++++++++++++++--------------------------- src/test/java/TempExcel.java | 20 +++++++++++++++++++- 5 files changed, 99 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/taover/util/BasicType.java create mode 100644 src/main/java/com/taover/util/ClassUtil.java diff --git a/build.gradle b/build.gradle index ab5d4ec..f7d1a06 100644 --- a/build.gradle +++ b/build.gradle @@ -59,7 +59,7 @@ uploadArchives { authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) } pom.project { - version '1.1.96' + version '1.1.99' artifactId ARTIFACT_Id groupId GROUP_ID packaging TYPE diff --git a/src/main/java/com/taover/util/BasicType.java b/src/main/java/com/taover/util/BasicType.java new file mode 100644 index 0000000..e545fd3 --- /dev/null +++ b/src/main/java/com/taover/util/BasicType.java @@ -0,0 +1,43 @@ +package com.taover.util; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + + +public enum BasicType { + BYTE, SHORT, INT, INTEGER, LONG, DOUBLE, FLOAT, BOOLEAN, CHAR, CHARACTER, STRING; + + public static final Map, Class> wrapperPrimitiveMap = new ConcurrentHashMap<>(8); + public static final Map, Class> primitiveWrapperMap = new ConcurrentHashMap<>(8); + + static { + wrapperPrimitiveMap.put(Boolean.class, boolean.class); + wrapperPrimitiveMap.put(Byte.class, byte.class); + wrapperPrimitiveMap.put(Character.class, char.class); + wrapperPrimitiveMap.put(Double.class, double.class); + wrapperPrimitiveMap.put(Float.class, float.class); + wrapperPrimitiveMap.put(Integer.class, int.class); + wrapperPrimitiveMap.put(Long.class, long.class); + wrapperPrimitiveMap.put(Short.class, short.class); + + for (Map.Entry, Class> entry : wrapperPrimitiveMap.entrySet()) { + primitiveWrapperMap.put(entry.getValue(), entry.getKey()); + } + } + + public static Class wrap(Class clazz){ + if(null == clazz || false == clazz.isPrimitive()){ + return clazz; + } + Class result = primitiveWrapperMap.get(clazz); + return (null == result) ? clazz : result; + } + + public static Class unWrap(Class clazz){ + if(null == clazz || clazz.isPrimitive()){ + return clazz; + } + Class result = wrapperPrimitiveMap.get(clazz); + return (null == result) ? clazz : result; + } +} diff --git a/src/main/java/com/taover/util/ClassUtil.java b/src/main/java/com/taover/util/ClassUtil.java new file mode 100644 index 0000000..f33eb6c --- /dev/null +++ b/src/main/java/com/taover/util/ClassUtil.java @@ -0,0 +1,22 @@ +package com.taover.util; + +/** + * 从HuTool那里COPY过来的 + * @author Administrator + * + */ +public class ClassUtil { + public static boolean isPrimitiveWrapper(Class clazz) { + if (null == clazz) { + return false; + } + return BasicType.wrapperPrimitiveMap.containsKey(clazz); + } + + public static boolean isBasicType(Class clazz) { + if (null == clazz) { + return false; + } + return (clazz.isPrimitive() || isPrimitiveWrapper(clazz)); + } +} \ No newline at end of file diff --git a/src/main/java/com/taover/util/UtilExcel.java b/src/main/java/com/taover/util/UtilExcel.java index 6e2232d..fce07c1 100644 --- a/src/main/java/com/taover/util/UtilExcel.java +++ b/src/main/java/com/taover/util/UtilExcel.java @@ -133,15 +133,7 @@ public class UtilExcel { for(int j=0; j> data = new ArrayList>(); + data.add(Collections.singletonList(123)); + data.add(Collections.singletonList(123.222)); + data.add(Collections.singletonList(1232223234234234L)); + data.add(Collections.singletonList("123")); + data.add(Collections.singletonList("1232223234234234")); + data.add(Collections.singletonList(new Date())); + try { + UtilExcel.saveExcel("data", data, "C:\\Users\\Administrator\\Desktop\\1234.xlsx"); + } catch (Exception e) { + e.printStackTrace(); + } } public static void checkExcelError() { -- libgit2 0.21.2