xiaTianChiXiGua
V2EX  ›  Java

不会吧,还有人不会用 Java 的 Excel 导入导出??

  •  
  •   xiaTianChiXiGua · Jan 13, 2021 · 4743 views
    This topic created in 2124 days ago, the information mentioned may be changed or developed.

    标题党了, 各位,老项目中使用的 POI 是 3.9 版本,现在想要使用 easyExcel,它最低引入的是 3.17 的 POI,如何两个 jar 包共存呐?求各位指点一下

    fiveelementgid
    fiveelementgid
    Jan 13, 2021 via Android❤️9
    1
    不会吧,不会吧,不会还有人在这问而不是自己去翻 document 吧。
    xiaTianChiXiGua
    xiaTianChiXiGua
    OP
    Jan 13, 2021
    2
    @fiveelementgid 真没招了 搞了两天了 没搞定
    crazyxtcn
    crazyxtcn
    Jan 13, 2021
    3
    这个我遇到过,POI 各个版本之间改动挺大的,当时两个 jar 依赖了不同版本的 poi,不管怎么调,运行时都会遇到 NoSuchMethod 之类的异常,最后用原生 poi 手写的导出
    xiaTianChiXiGua
    xiaTianChiXiGua
    OP
    Jan 13, 2021
    4
    @crazyxtcn 我看了一下如果 3.9 升级到 3.17 项目里要替换不少的代码,一不小心就要出 bug 。。 如果继续用老版本的 POI,又感觉有点恶心 想试试 easyexcel
    optional
    optional
    Jan 13, 2021 via Android
    5
    别试了,不太好用
    xiaTianChiXiGua
    xiaTianChiXiGua
    OP
    Jan 13, 2021
    6
    @optional 继续用 POI 老版本写代码?
    xcstream
    xcstream
    Jan 13, 2021
    7
    恭喜你发现了个 java 的硬伤
    redtea
    redtea
    Jan 13, 2021❤️1
    8
    方案一:自定义 ClassLoader 加载 jar
    方案二:改造成微服务调用
    c2const
    c2const
    Jan 13, 2021
    9
    2333,从安全角度给你支个招,用 zkm 之类的混淆软件去把新版本的 POI jar 包的依赖全部混淆,本身对外接口(函数名、类名)都不变,最后再把 x.y.A.class 改成 x2.y.A.class 之类避免冲突,类似 c 艹的 namespace 一样,避免调用冲突。
    purensong
    purensong
    Jan 13, 2021❤️5
    10
    问个问题还阴阳怪气的,建议多看看别人怎么问的
    nl101531
    nl101531
    Jan 13, 2021 via iPhone
    11
    这种只能隔离。。。一个 jar 脱离 maven,使用单独的类加载器加载执行
    qwerthhusn
    qwerthhusn
    Jan 13, 2021
    12
    找个工具,把高版本的 jar 包的包名完全改了。导入到私服
    wander639
    wander639
    Jan 13, 2021 via iPhone
    13
    不会吧,看这个标题还以为是写教程的
    darksword21
    darksword21
    Jan 13, 2021❤️1
    14
    这种标题在虎扑那看得想骂人,建议不要在这里搞
    zollum
    zollum
    Jan 13, 2021
    15
    手动打包 easyexcel 源码,修改 pom.xml ,打 shade 包,关键字 class relocation 。
    Takamine
    Takamine
    Jan 13, 2021 via Android
    16
    pandas, csv, xlrd 它不香吗。
    lucahan
    lucahan
    Jan 13, 2021 via Android
    17
    不会吧,除了虎扑还真有人用这种标题
    czzhengkw
    czzhengkw
    Jan 13, 2021
    18
    不会吧,这样问问题不会被打吗?
    SkyLine7
    SkyLine7
    Jan 14, 2021
    19
    小丑竟是我自己
    xiaTianChiXiGua
    xiaTianChiXiGua
    OP
    Jan 14, 2021
    20
    @darksword21 看来不少虎扑老哥啊 哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   690 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 20:41 · PVG 04:41 · LAX 12:41 · JFK 15:41
    ♥ Do have faith in what you're doing.