POI异常信息:Package should contain a content type part [M1.13]

编程知识 更新时间:2023-04-05 05:52:16

最近在写项目的时候,使用到了POI对表格的处理,在通过文件流创建工作簿的时候,出现异常,异常信息是:Package should contain a content type part [M1.13]。在这里,记录下这个信息,也供大家参考


问题描述:

先看我的测试代码:
public static void main(String[] args)
    {
        ExportController a = new ExportController();
        InputStream is = a.getClass().getResourceAsStream("/excel/测试模板.xlsx");
        try
        {
            Workbook outWb = new XSSFWorkbook(is);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

    }
这段代码运行,抛POI异常:Package should contain a content type part [M1.13] 这个异常的原因可能有多种,查找资料发现,大多数回答都是该异常是由于 Excel 2003和2007之间的区别导致的,或者就是说文件是直接改后缀名得到(改后缀名也是会导致异常)。 Excel 2003和2007之间的区别:

HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。


原因分析:

Excel 的版本,我使用的是2007的,也就是后缀为.xlsx,按理说没什么问题的。
而且模板文件也是新建的,不存在是通过改后缀名得到的(后缀名由.xlx改为.xlsx也是不能识别的)。


解决方案:

最后是把POI的版本从3.14改为3.13解决了问题

总结

解决方向: 1、创建工作薄的构造方法和Excel的版本是否选择正确 2、Excel文件的是否为新建,而不是通过修改后缀名得到 3、上面都没有问题,考虑POI版本问题

更多推荐

POI异常信息:Package should contain a content type part [M1.13]

本文发布于:2023-04-05 05:52:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/bf4d3f91b30a28873b0db0e9a5dd0e49.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:异常   信息   Package   POI   content

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 45116文章数
  • 14阅读数
  • 0评论数