无法使用 ApachePOI 打开 excel - 出现异常

2023-12-06

在尝试使用 Apache POI 打开 excel 时,我得到了

org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: 'C:\Users\mdwaipay\AppData\Local\Temp\poifiles\poi-ooxml-1570030023.tmp'

我检查了。没有创建这样的文件夹。我正在使用 Apache POI 版本 3.6。

有什么帮助吗?类似的代码在不同的工作区中运行良好。在这里失去了思想。

Code:

public Xls_Reader(String path) {
  this.path=path; 
  try { 
      fis = new FileInputStream(path); 
      workbook = new XSSFWorkbook(fis); 
      sheet = workbook.getSheetAt(0); 
      fis.close(); 
  }
  catch (Exception e) 
  { e.printStackTrace(); 
  } 
}

为什么你要把一个完美的文件包装在一个InputStream,然后要求 POI 必须为您缓冲整个数据以便它可以进行随机访问?如果您直接将文件传递给 POI,生活会好得多,这样它就可以根据需要跳过!

如果您想同时使用 XSSF (.xlsx) 和 HSSF (.xls),请将代码更改为

public Xls_Reader(String path)  { 
  this.path = path; 
  try { 
    File f = new File(path);
    workbook = WorkbookFactory.create(f); 
    sheet = workbook.getSheetAt(0); 
  } catch (Exception e) {
    e.printStackTrace();
  } 
}

如果您只需要 XSSF 支持,和/或需要完全控制资源何时关闭,请执行类似的操作

OPCPackage pkg = OPCPackage.open(path);
Workbook wb = new XSSFWorkbook(pkg);

// use the workbook

// When you no longer needed it, immediately close and release the file resources
pkg.close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 ApachePOI 打开 excel - 出现异常 的相关文章

  • Java 使用服务器证书对 jar 进行签名

    是否可以使用服务器证书来签署 java web start 应用程序 我想知道的是它是否有效 我的服务器有一个受信任的证书 并且我想重复使用同一证书来签署应用程序 现在 我有这样的警告 此 jar 包含其签名者证书的 ExtendedKey
  • Java中如何动态添加charsequence[]中的数据?

    初始化的一种方法charsequence is charsequence item abc def 但我不想以这种方式初始化它 有人可以建议其他方式吗 比如我们初始化的方式string arrays 首先 修复变量声明 charsequen
  • Java泛型 - 实现像map这样的高阶函数

    我决定用 Java 编写一些常见的高阶函数 map filter reduce 等 这些函数通过泛型实现类型安全 但我在一个特定函数中遇到通配符匹配问题 为了完整起见 函子接口是这样的 The interface containing th
  • 如何调试使用maven构建的android应用程序

    我目前正在尝试从 Eclipse 调试我的设备上的 Android 应用程序 设备已添加 我可以在控制台和 Eclipse 中看到它 控制台 Windows adb devices List of devices attached 0019
  • Junit Mockito 测试一切

    我现在正在寻找更多时间但没有结果 请帮忙 这是我要测试的课程 public class DBSelectSchema extends Database private static final Logger LOG Logger getLo
  • 具有最小刻度的图表的漂亮标签算法

    我需要手动计算图表的刻度标签和刻度范围 我知道漂亮刻度的 标准 算法 参见 我也知道这个Java实现 http erison blogspot nl 2011 07 algorithm for optimal scaling on char
  • Java 相当于 Perl 的 s/// 运算符?

    我有一些代码正在从 Perl 转换为 Java 它大量使用了正则表达式 包括s 操作员 我已经使用 Perl 很长时间了 但仍然习惯 Java 的做事方式 特别是 字符串似乎更难使用 有谁知道或有一个完全实现的Java函数s 这样它就可以处
  • JFreeChart - 创建移动图表时出现问题

    我在我的 java 应用程序中使用 JFreeChart Problem 我想绘制一个XY面积图 whose 域轴 x 轴 当我们开始绘制数据时应该自动水平滚动 我在中看到了同样的事情时间序列图表但我不想要任何时间系列图表 我只想要滚动的
  • IntSummaryStatistics的summaryStatistics方法

    为什么空 IntStream 上的 summaryStatistics 方法返回整数的最大和最小值作为流中存在的最大和最小 int 值 IntStream intStream IntStream of IntSummaryStatistic
  • 如何使 ScheduledExecutorService 在计划任务取消时自动终止

    我正在使用一个ScheduledExecutorService如果网络连接已打开超过几个小时 则关闭该连接 然而 在大多数情况下 网络连接在超时之前就关闭了 所以我取消了ScheduledFuture 在这种情况下 我还希望执行程序服务终止
  • Tomcat - 多个 webapps 文件夹

    是否可以有多个文件夹来放置要部署的应用程序 这些是如何定义的 是否可以将一个文件夹限制为仅是 domain com 的应用程序 而不是其他域 Thanks 看一眼conf server xml
  • 在 Java Swing 元素中使用 HTML 样式是不好的做法吗?

    使用 HTML 设置 Swing 元素的样式被认为是不好的做法吗 举个例子 如果我想让标签变大并变红一次 我有两个选择 使用 API 调用 JLabel label new JLabel This is a title label setF
  • Android 反向地理编码不适用于华为设备

    我正在尝试通过这段代码反转地理编码纬度 经度 Geocoder geocoder new Geocoder context Locale ENGLISH try List
  • 读取不失真的灰度 PNG 图像文件

    我需要读取和处理大量的灰度 PNG 文件 我的意思是 如果它们在 Photoshop 或 GIMP 中打开 则图像模式为灰度 而不是具有灰度值的 RGB 图像 ImageIO 似乎没有实现这一点 它似乎将所有图像文件视为 sRGB 这会破坏
  • 如何发现另一个应用程序的意图

    我正在尝试构建一个应用程序来接收来自 StumbleUpon 应用程序的共享 此时 我可以接收浏览器的 共享网址 但是当从 StumbleUpon 共享时 我的应用程序不会显示在列表中 我想我可能没有在清单中注册正确的意图 有什么方法可以找
  • Java 空值检查

    我有一个thread1 if object null object play 和另一个thread2可以写null into object随时参考 我将同时运行这些线程 我知道thread2可以重写object后参考null检查并会抛出Nu
  • 将字符串转换为字符并按降序排序(ascii)

    我正在创建一个程序 该程序将使用户输入整数 一个接一个 存储在数组中并按降序显示整数 该程序还要求用户输入一个字符串 使用以下命令将其转换为字符string toCharArray 我已经正确地按降序显示整数 问题是我不知道如何按降序显示字
  • 使用 InputStream 通过 TCP 套接字接收多个图像

    每次我从相机捕获图像时 我试图将多个图像自动从我的 Android 手机一张一张地发送到服务器 PC 问题是read 函数仅在第一次时阻塞 因此 从技术上讲 只有一张图像被接收并完美显示 但在那之后当is read 回报 1 该功能不阻塞
  • Java“非法访问操作”方法将被弃用? [复制]

    这个问题在这里已经有答案了 JDK 9 JVM 发出非法访问操作警告后 如果您使用一些非法访问 例如setAccessible 我的问题 Is setAccessible 以后会被封吗 此功能的官方参考 如果将被弃用 在哪里 我在任何地方都
  • 如何从 jenkins 的现有项目生成 .hpi 插件

    我正在尝试使用 jenkins 的性能插件 但最新版本存在一些问题 如链接中所述 https issues jenkins ci org browse JENKINS 27100 https issues jenkins ci org br

随机推荐

  • std::map 默认值

    有没有办法指定默认值std map s operator 当键不存在时返回 虽然这并不能完全回答问题 但我已经用这样的代码规避了这个问题 struct IntDefaultedToMinusOne int i 1 std map
  • 从渲染器接收消息超时:10.000

    运行我的场景时出现以下错误 org openqa selenium TimeoutException 超时 接收超时 来自渲染器的消息 10 000 会话信息 chrome 79 0 3945 79 构建信息 版本 3 14 0 修订版 a
  • 如何继承GWT项目中所需的模块?

    我想在我的 GWT 项目中使用 GWT FXv0 5 0MS 1 jar 我将 jar 文件添加到项目路径并使用语法上的代码 现在收到未继承的错误 错误信息是 11 28 48 829 ERROR uibuilder Line 80 No
  • 尽管 JavaFx 类存在于 JDK 中,但 Java 无法找到 JavaFx 类

    我目前正在开发一个使用 javafx 作为 UI 的应用程序 我使用的是java 9 当我从github上拉出来继续在我的新计算机上开发并编译时 所有javafx类的引用都存在编译错误 并且只有javafx类 我在外部资源中的jdk中搜索了
  • 如何在Python中单行输入n个数字[重复]

    这个问题在这里已经有答案了 就像在 C 中一样 我如何要求用户输入一个范围内的内容 下面是 C 中获取用户输入的代码 include
  • 将环境变量传递给 gradle.properties

    我有一个这样的属性设置 url localhost 3206 有没有办法像下面这样指定 url hostname 3206 我不认为 gradle properties 支持插值 但是 我建议采用另一种方法来实现此目的 在你的 gradle
  • Asp.net 表单身份验证和多个域

    我有两个域 domain1 com 和domain2 com 指向同一个asp net 网站 该网站使用asp net 内置表单身份验证 问题是 即使域指向同一网站 用户一次也只能针对一个域进行身份验证 因此 如果他首先使用 www dom
  • JSF 2.0 中的 WEB.XML 错误页面

    我正在使用 JSF2 和 Glassfish 3 0 我有一个非常简单的应用程序 我正在尝试设置一些默认错误页面404 and 500 error 这是WEB XML部分
  • 插入表单时如何删除 Word 标记垃圾?

    我正在用 PHP 构建一个 CMS 我担心的一个问题是用户必须从现有的 Word 和 Excel 但不用担心 文档中填写数据 现在 我已经看到了当他们不小心从 Word 复制并粘贴到文本区域时会发生什么 数据库充满了垃圾标记 现在 我当然可
  • Xamarin 链接器:未找到 Cirrious.CrossCore.IoC.MvxPropertyInjector 类型的默认构造函数

    使用 HotTuna 包中的 FirstView 的骨架项目 并将构建链接器行为设置为 链接所有程序集 我收到以下错误 System MissingMethodException 找不到 Cirrious CrossCore IoC Mvx
  • 如何设置 application/json 以外的 Content-Type

    我正在尝试通过 AFNetworking2 0 向我的服务器发送 REST API 我们的服务器只接受Content Type as application vnd mycom mycom csc json当我发送请求时 它确实是json格
  • 启动本地azure项目时调试器无法连接

    好的 首先 这就是我所做的 安装 AZURE 工具 Reboot 启动 Visual Studio 新的 Azure 项目 添加 Web 角色 asp net MVC 4 beta Web 角色 按 F5 调试 它启动存储模拟器和计算模拟器
  • 如何设置表适配器的连接字符串(动态设置的连接字符串)

    我刚刚从另一位不再在公司工作的开发人员那里继承了 数据库专家 的角色 所以如果我听起来特别菜鸟 请原谅我 该应用程序是一个 VB NET 4 应用程序 我们的表适配器的数据库连接字符串是 my settings My Settings DB
  • 在Unity3d C#中访问动态添加的组件

    添加后Component to a GameObject通过GameObject AddComponent方法 我怎样才能访问这个Component来自另一个脚本 这是 myScript 代码 未附加到游戏对象 using UnityEng
  • 如何在 Python 中将一个列表拆分为两个唯一的列表?

    嗨 我有一个清单如下 listt a b c d e f g h i j k l m n o 15名成员 我想把它变成 3 个列表 我使用了这段代码 它有效 但我想要唯一的列表 这给了我 3 个具有共同成员的列表 import random
  • Octave - 如何在 Windows 上安装软件包

    Question 由于问题在修复了 Octave urlread 导致无法使用给定 CA 证书对对等证书进行身份验证的问题 我无法在 Windows 上安装 Octave 软件包 请建议其他安装方式 我特别想经历梯度 梯度图和切平面这需要符
  • ASP.NET 和 WordPress 之间共享身份验证

    我现在的情况是需要在 ASP NET 网站和 WordPress 之间自动验证用户 这个想法是 一旦您登录到 ASP NET 网站 并且浏览 WP 页面 您就会自动登录 反之亦然 在 ASP NET 中 我可以针对 WP 数据库对用户进行身
  • 使用sql/plsql,如何找出文本使用的字符集?

    我有一个 Oracle 数据库 它存储来自世界各地 不同语言的文档内容 文档存储在一个带有 BLOB 列的表中 该列存储文档的内容 我想通过 Oracle 过程找出每个文档的字符集是什么 我不想使用 CSSCAN 实用程序 因为您似乎必须在
  • 所有 JSON 对象也是有效的 JavaScript 对象吗?

    The JSON标准以一种方式定义对象 并且ECMAScript JavaScript 标准在另一个标准中定义了它 人们常说 JSON 对象是 JavaScript 对象的子集 这是真的吗 每个 JSON 对象也是一个有效的 JavaScr
  • 无法使用 ApachePOI 打开 excel - 出现异常

    在尝试使用 Apache POI 打开 excel 时 我得到了 org apache poi openxml4j exceptions InvalidOperationException Can t open the specified