xiaTianChiXiGua
V2EX  ›  Java

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

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

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

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