当前位置: 首页 > 面试题库 >

无法使用ApachePOI打开Excel-获取异常

孔运良
2023-03-14
问题内容

尝试使用ApachePOI打开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版。

有什么帮助吗?类似的代码在其他工作区中运行良好。在这里不知所措。

码:

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();


 类似资料:
  • 用户可以将Excel文档保存为. xls或xml-table。结果是一个具有固定结构的xml-file,Excel可以用它纠正工作。 可以用java中的ApachePOI打开这种类型的excel文件吗? 事先谢谢你,安德烈。

  • 作为我工作的一部分,我一直在制作python脚本,这些脚本读取各种格式(例如Excel、Csv、Txt)的输入,并将信息解析为更标准化的文件。这不是我第一次打开或使用Excel文件。 有一个特殊的文件给我带来了问题,我只是打不开它。当我尝试使用xlrd(版本0.9.3)时,它给了我以下错误: XLRDERROR:不支持的格式,或损坏的文件:BOF不是工作簿/工作表:OP=0x0009 vers=0

  • 嗨,我想在第一行搜索一个字符串,如果找到了,我想移动那一列。

  • 我在jsf中学习一个网络共享项目。在这个项目中,用户可以上传文档,如. doc、. pdf、. ppt等。我想将该文档的第一页显示为缩略图。经过一番谷歌搜索,我找到了Apache POI。有人对我的问题有什么建议吗?我如何返回word doc第一页的缩略图图像?我尝试了这段代码。这段代码只得到word doc包含的第一张图片:

  • 问题内容: 使用Python 2.5.2和Linux Debian,我试图从包含西班牙字符的西班牙URL中获取内容: 我收到此错误: UnicodeEncodeError:’ascii’编解码器无法在位置8编码字符u’\ xe1’:序数不在范围内(128) 我已经尝试过在将URL传递给urllib之前使用: 和这个: 但是他们没有用。 你能告诉我我做错了什么吗? 问题答案: 根据适用的标准RFC

  • 问题内容: 在执行其他操作时,opencv可以正常工作。它可以打开图像并显示图像。但无法打开视频。 我用来打开视频的代码如下 但是执行时,它会输出如下错误消息 我和可以播放此视频,但opencv无法播放。 我已经安装和编解码器包。(使用) 我的ubuntu版本是。 我不确定是否是编解码器问题? 我已经使用或重建了opencv ,但它根本不影响问题。错误消息永远不会改变。 问题答案: 我将该文件转换