Java如何读取由txt改后缀成的xls或xlsx

起床搬砖 2018-10-25 02:36:24
这是我读取一个Excel的代码,但是这个路径下的Excel是由txt改后缀成xls或xlsx的Excel文件然后就报这个错:org.apache.poi.poifs.filesystem.NotOLE2FileException: Invalid header signature; read 0x006900680053FEFF, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document
各位大神有这种经历吗?给点demo或者教教我怎么读取这类的Excel文件,谢谢了。

public static Workbook readExcel(String filePath) {
Workbook wb = null;
if (filePath == null) {
return null;
}
String extString = filePath.substring(filePath.lastIndexOf("."));
InputStream is = null;
try {
is = new FileInputStream(filePath);
if (".xls".equals(extString)) {
return wb = new HSSFWorkbook(is);
} else if (".xlsx".equals(extString)) {
return wb = new XSSFWorkbook(is);
} else {
return wb = null;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return wb;
}
...全文
481 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
起床搬砖 2018-10-26
  • 打赏
  • 举报
回复
顶一下
起床搬砖 2018-10-25
  • 打赏
  • 举报
回复
我理了一下,因为那边是产出的文件我没法处理,就给到的文件来说: 1.报错原因有的说是加密,有的说安全性,这能解决吗? 2.poi版本跟Excel版本问题,但是那个是改成的Excel,我试着改了很多poi版本但是无果 3.将Excel打开然后另存为对的格式Excel文件后能读取,我在想java有这个代码式的另存为吗? 4.最清楚也是最麻烦的方法是把项目从解析Excel改为解析txt开始做
起床搬砖 2018-10-25
  • 打赏
  • 举报
回复
引用 2 楼 qybao 的回复:
你原来的文件是Excel文件吗? Excel文件有头部信息的,单纯把txt的后缀改了,但头部信息不变是不行的
应该原来不是Excel文件的,目前这个文件可以通过改后缀在txt和xls两者之间不停更换,并且内容显示正常没有乱码错误之类。
qybao 2018-10-25
  • 打赏
  • 举报
回复
你原来的文件是Excel文件吗? Excel文件有头部信息的,单纯把txt的后缀改了,但头部信息不变是不行的
起床搬砖 2018-10-25
  • 打赏
  • 举报
回复
有人帮忙看看吗

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧