Java 使用apache poi 4.1.2创建工作簿会引发IndexOutOfBoundsException

Java 使用apache poi 4.1.2创建工作簿会引发IndexOutOfBoundsException,java,excel,apache-poi,xls,Java,Excel,Apache Poi,Xls,当我尝试使用apache poi 4.1.2从作为InputStream接收的现有xls创建工作簿时: InputStream inputStream = new ByteArrayInputStream(input); Workbook workbook = null; try { workbook = WorkbookFactory.create(inputStream); } catch (IOException e) { ... } 我收到以下异常:“原因:java.lang.

当我尝试使用apache poi 4.1.2从作为InputStream接收的现有xls创建工作簿时:

InputStream inputStream = new ByteArrayInputStream(input);
Workbook workbook = null;

try {
   workbook = WorkbookFactory.create(inputStream);
} catch (IOException e) {
...
}
我收到以下异常:“原因:java.lang.IndexOutOfBoundsException:无法从长度为328192的流中读取512字节”
如果我打开xls文件并在再次上传之前保存它,它可以正常工作。

损坏的上传代码无法可靠工作,并在最后丢失字节?xls文件中的数据是否敏感?我愿意对此进行故障排除,但我需要查看file@Kayaman,我不认为上传代码是坏的。它适用于数千个文件。所以你绝对确定你在服务器上获得了所有字节?因为错误消息指示缺少字节。我对错误消息的信任超过了对您的信任。该文件的大小是328192字节还是更大?如果更多,那么你没有读所有的字节。@Chris Maggiulli,我也是这么想的。很遗憾,我无法与您共享该文件。此文件未启用受保护的视图,尽管它已在信任中心中启用。无法可靠工作并在最后丢失字节的损坏上载代码?xls文件中的数据是否敏感?我愿意对此进行故障排除,但我需要查看file@Kayaman,我不认为上传代码是坏的。它适用于数千个文件。所以你绝对确定你在服务器上获得了所有字节?因为错误消息指示缺少字节。我对错误消息的信任超过了对您的信任。该文件的大小是328192字节还是更大?如果更多,那么你没有读所有的字节。@Chris Maggiulli,我也是这么想的。很遗憾,我无法与您共享该文件。此文件未启用受保护视图,尽管它已在信任中心中启用。