问题描述:
org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException: The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with OOXML (Office Open XML) Documents. You need to call a different part of POI to process this data (eg HSSF instead of XSSF)
问题分析:
1、读取Word文件时,使用了XWPFDocument读取doc文件。
解决办法:doc文件使用HWPFDocument读取,docx文件使用XWPFDocument读取。
2、读取Excel文件时,使用了XSSFWorkbook读取xls文件。
解决办法:xls文件使用HSSFWorkbook读取,xlsx文件使用XSSFWorkbook读取。
旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频
哔哩哔哩旭东怪的个人空间,提供旭东怪分享的视频、音频、文章、动态、收藏等内容,关注旭东怪账号,第一时间了解UP注动态。人生低谷不可怕,可怕的是坚持不到人生转折点的那一天
https://space.bilibili.com/484264966?spm_id_from=333.1007.0.0
问题描述:org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException: The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with OOXML (Office Open XML) Documents. You need to call a different part of POI to pro
The
supplied
data
app
ear
stobeinthe
OLE
2
Format
.Youarecallingthepartof
POI
thatdealswithOO
XML
(
Office
Open
XML
)Documents.Youneedtocalladifferentpartof
POI
toprocessthis
data
(egHSSFinsteadofXSSF)
在做Excel导入功能时,发现导入的文件报错,代码中判断了文件类...
今天在处理Excel文件时候,发现对于以xls和xlsx为后缀的文件,用以下的代码处理时候抛 The
supplied
data
app
ear
s to be in the
OLE
2
Format
.异常,百思不得其姐!!! 明明都判断类型对应的文件类型也没毛病啊!!
try {
if ((
file
name.endsWith(".xls"))) {
workbook = new HSSFWorkbook(inputStream);
org.apache.
poi
.open
xml
4j.
exception
s.
OLE
2Not
Office
Xml
File
Exception
: The
supplied
data
app
ear
s to be in the
OLE
2
Format
.
You are calling the part of
POI
that deals with OO
XML
(
Office
Open
XML
) D.
刚开始使用new HSSFWorkbook(new
File
InputStream(excel
File
))来读取Workbook,对Excel2003以前(包括2003)的版本没有
问题
,但读取Excel2007时发生如下异常:
org.apache.
poi
.
poi
fs.
file
system.
Office
Xml
File
Exception
: The
supplied
data
app
ear
s to
<dependency>
<groupId>org.apache.
poi
</groupId>
<artifactId>
poi
</artifactId> <version>3.14</version>
今天用easyExcel写一个读取excel测试类,报异常:
No valid entries or contents found, this is not a valid OO
XML
(
Office
Open
XML
)
file
org.apache.
poi
.open
xml
4j.
exception
s.Not
Office
Xml
File
Exception
: No valid entries or contents found, this is not a valid OO
XML
(
Office
Open XM
org.apache.
poi
.open
xml
4j.
exception
s.
ole
2not
office
xml
file
exception
: the
supplied
data
app
ear
s to be in the
ole
2
format
. you are calling the part of
poi
that deals with oo
xml
(
office
open
xml
) documents. you need to call a different part of
poi
to process this
data
(eg hssf instead of xssf)
### 回答1:
这个错误提示是说,提供的数据似乎是
OLE
2格式的,而你正在调用
POI
处理OO
XML
(
Office
Open
XML
)文档的部分。你需要调用
POI
的另一个部分来处理这些数据(例如使用HSSF而不是XSSF)。
### 回答2:
这个异常消息的意思是,你使用的数据似乎是
OLE
2格式的,但你正在调用
POI
的处理OO
XML
(
Office
Open
XML
)文档的部分。因此你需要使用
POI
中不同的部分来处理这个数据(例如,使用HSSF代替XSSF)。
首先,我们需要了解什么是
OLE
2格式和OO
XML
格式。
OLE
2是一种二进制文件格式,早期的Microsoft
Office
版本使用该格式。OO
XML
是一种
XML
文件格式,从
Office
2007版本开始使用。
对于
POI
而言,它提供了处理这两种文件格式的不同类库:HSSF用于处理
OLE
2格式文件,而XSSF用于处理OO
XML
格式文件。因此,当你的代码在处理数据时,如果它检测到数据是
OLE
2格式的,可是却使用了XSSF相关的
POI
类库来进行操作,那么就会抛出这个异常。
为
解决
这个
问题
,需要改用HSSF类库来处理数据。在代码中使用
POI
提供的类库时,我们通常会根据需要的文档格式来选择所需要的类库。对于处理
OLE
2格式的文件,可以使用HSSFWorkbook类;而在处理OO
XML
格式的文件时,则需要使用XSSFWorkbook类。
在调用代码时,我们可以使用类似以下的代码来处理数据:
InputStream inputStream = new BufferedInputStream(new
File
InputStream("path/to/your/
file
.xls"));
Workbook workbook = new HSSFWorkbook(inputStream);
或者当需要处理OO
XML
格式的文件时:
InputStream inputStream = new BufferedInputStream(new
File
InputStream("path/to/your/
file
.xlsx"));
Workbook workbook = new XSSFWorkbook(inputStream);
这样一来,就不会再出现异常了。
### 回答3:
这个错误信息是由Apache
POI
这个
Java
库抛出的。它的意思是指定的数据似乎是
OLE
2格式,而不是OO
XML
格式(即
Office
Open
XML
格式)。在调用
POI
处理OO
XML
文档的部分时,需要调用
POI
的另一部分来处理这个数据,例如使用HSSF代替XSSF。
这个错误通常发生在尝试读取一个文件时,因为文件的格式不符合预期。
Java
IO类库和Apache
POI
库都需要正确的文件格式才能处理文件。如果文件格式不正确,则会出现此错误。
解决
这个
问题
的一个方法是确定文件的实际格式,然后使用
POI
的相关部分来读取它。如果文件是
OLE
2格式,使用HSSF类来处理,如果文件是OO
XML
格式,使用XSSF类来处理。
此外,您还可以使用Apache Tika这样的库来确定文件的实际格式,然后再使用
POI
来处理它。Tika不仅可以检测常见的
Office
文档格式,还可以检测许多其他文件格式,包括PDF和图像文件。
总之,要
解决
这个错误,你需要确保你正在使用正确的类来处理特定格式的文件,并用适当的方法来读取文件。
m0_64670047:
MyBatis Mapped Statements collection already contains value for xx.please check file [x]
MT_0106:
CRUD是什么,程序猿都应该要知道的单词
Kohl Zeen:
Spring Boot配置MinIO(实现文件上传、下载、删除)
紫荆风铃:
ElasticSearch-Head操作Elasticsearch进行查询数据(查询所有数据,查询单个索引所有数据,查询单个索引指定类型所有数据,根据指定条件查询数据)
m0_37591553:
Elasticsearch JsonParsingException: Invalid token=CURLYCLOSE at.Expected tokens are: [STRING]问题解决
Java Excel 打开文件报发现“xx.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复问题解决
PostMan Request method ‘xx‘ not supported问题解决