java.io.IOException: Your InputStream was neither an OLE2 stream, nor an OOXML stream

这篇具有很好参考价值的文章主要介绍了java.io.IOException: Your InputStream was neither an OLE2 stream, nor an OOXML stream。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

流读取文件时可能报以下错误:

java.io.IOException: Your InputStream was neither an OLE2 stream, nor an OOXML stream
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:258)
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:221)
at com.ruoyi.common.utils.poi.ExcelUtil.importExcel(ExcelUtil.java:186)
at com.ruoyi.common.utils.poi.ExcelUtil.importExcel(ExcelUtil.java:173)

此错误一般是文件上传时,用Workbook工厂或者实体类直接创建new HSSFWorkbook/XSSFWorkbook时出现。
解决方法很简单有两种:
1、在项目的pom.xml文件内新增或补足以下代码块

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <encoding>UTF-8</encoding>
        <nonFilteredFileExtensions>
            <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
            <nonFilteredFileExtension>xls</nonFilteredFileExtension>
        </nonFilteredFileExtensions>
    </configuration>
</plugin>

2、用更简单的cn.hutool.poi.excel.ExcelReader类,样例如下:文章来源地址https://www.toymoban.com/news/detail-849579.html

import cn.hutool.poi.excel.ExcelReader;
import org.springframework.web.multipart.MultipartFile;

	try (
	        InputStream inputStream = file.getInputStream()
	) {
	    ExcelReader reader = ExcelUtil.getReader(inputStream).setIgnoreEmptyRow(true);
	    List<Sheet> sheets = reader.getSheets();
	    Sheet sheet = sheets.get(0);//根据sheet的下标取值
	} catch (IOException e) {
	
	}

到了这里,关于java.io.IOException: Your InputStream was neither an OLE2 stream, nor an OOXML stream的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java.io.IOException: Connection reset by peer

    接口返回的时候报错,java.io.IOException: Connection reset by peer,具体报错信息如下: 原因: 接口返回的数据量太大报错, 解决办法: 修改nginx缓存配置信息。 nginx原配置信息: nginx修改后信息: 注意: \\\"proxy_busy_buffers_size\\\"必须等于或大于\\\"proxy_buffer_size\\\"的最大值。

    2024年02月16日
    浏览(50)
  • java.io.IOException: UT010029: Stream is closed异常

    后端提供一个excel文件模板下载接口 我们使用了ServletOutputStream来向客户端发送响应。在finally块中不需要关闭输出流,因为Servlet容器会在请求处理完成后自动关闭输出流。如果在finally块中尝试关闭已关闭的输出流,就会抛出java.io.IOException: Stream is closed异常。因此,我们可以

    2024年02月14日
    浏览(59)
  • 已解决org.springframework.amqp.AmqpIOException: java.io.IOException

    已解决org.springframework.amqp.AmqpIOException: java.io.IOException org.springframework.amqp.AmqpIOException: java.io.IOException AmqpIOException 是 Spring AMQP 框架中的一个异常类,它表示在与 RabbitMQ 交互时发生了 IO 异常。 下滑查看解决方法 通常,这个异常是由于与 RabbitMQ 的连接断开或无法建立连接导致

    2024年02月08日
    浏览(43)
  • java.io.IOException: Unable to establish loopback connection

            在win10电脑上启动SpringBoot项目出现以下报错 org.springframework.context.ApplicationContextException: Failed to start bean \\\'webServerStartStop\\\'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server         at org.springframework.context.support.DefaultLifecycleProcesso

    2023年04月09日
    浏览(43)
  • 【Java-IO流】cn.hutool.core.io.IORuntimeException: IOException: Stream closed

    今天在项目中需要读取request请求中的body多次,当我直接去read的时候出现了问题; 报错如下: 产生的原因如下: httpServletRequest中的流只能读取一次的原因 想要多次读取request中body的内容,需要先存储一份,然后读取; 问了导师,有一个类可以多次读取body内容,因为他会将

    2024年02月11日
    浏览(70)
  • jenkins java.io.IOException: Failed to load: Git plugin

    jenkins 的插件 http://updates.jenkins-ci.org/download/plugins/ jenkinsci/blueocean的插件 Jenkins Plugins 报错是更新Mailer插件的版本 可以在jenkins的插件管理中下载 或者在jenkins的插件中下载到本地然后再插件管理中上传         上传位置在高级里    在这里上传

    2024年02月11日
    浏览(49)
  • java.io.IOException: unexpected end of stream on Connection

    目录 Java.io.IOException: Unexpected End of Stream on Connection 引言 错误原因 解决方法 结论 在基于Java网络编程的开发中,我们有时可能会遇到​ ​java.io.IOException: Unexpected end of stream on connection​ ​的错误。这个错误提示意味着在与远程服务器建立连接时,发生了无法预料的连接断开的

    2024年02月04日
    浏览(59)
  • WebSocket 报java.io.IOException: 远程主机强迫关闭了一个现有的连接。

    在客户端强制关闭时,或者窗口强制关闭时,后端session没有关闭。 有时还会报:java.io.EOFException: 这个异常 前端心跳没有收到信息,还在心跳。 所以在  @OnClose ,@OnError 在这两个方法中,不管是关闭还是发生未知错误,都关闭session

    2024年02月09日
    浏览(69)
  • Android 创建文件时出现 java.io.IOException: Operation not permitted异常

    一、android 6.0         6.0之前是不需要动态申请权限的,直接在 manifest.xml 中申请即可以正常使用。 二、安卓10,SDK=29         安卓10开始,安卓继续加强了限制,如果需要读写SD卡,还需要额外的进行申请requestLegacyExternalStorage申明。 三、安卓11,SDK=30         安卓

    2024年02月02日
    浏览(46)
  • 有关 java.io.IOException: Connection reset by peer 解决问题方法之一

    有很多大佬已经终结出现这个错误的原因有一下几种 1. 服务器在接受处理用户请求时,自身的cpu、io、内存、线程等资源都是有最大限制的。当并发请求超过服务器的承载量时,服务器会停掉一些请求。(但是要注意如果实际的并发数量没有超过服务器的承载量,可能中了木

    2024年02月22日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包