每次我上传带有部分数据的excel时,上传的文件都会损坏,并且我无法在aspose工作簿中使用此上传的文件(在某些情况下它也可以工作,我不知道为什么)。 甚至在我打开的同时,excel也会显示损坏的文件消息。 这是片段
InputStream stream = file.getInputStream();
OutputStream os = new FileOutputStream("path_to_xlsFile.xls");
BufferedOutputStream bos = new BufferedOutputStream(os);
int bytesRead;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.flush();
bos.close();
os.close();
stream.close();
通过aspose库打开工作簿时,对于相同的上传文件,出现的错误是
java.lang.IllegalStateException: The FAT in the structured storage document seems to be corrupted.
at com.aspose.cells.py.b(Unknown Source)
at com.aspose.cells.py.b(Unknown Source)
at com.aspose.cells.py.(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.open(Unknown Source)
要么
java.lang.IllegalStateException: The structured storage seems to be corrupt.
at com.aspose.cells.mm.(Unknown Source)
at com.aspose.cells.py.c(Unknown Source)
at com.aspose.cells.py.b(Unknown Source)
at com.aspose.cells.py.(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.open(Unknown Source)
要么
java.lang.IllegalArgumentException: length
at com.aspose.cells.b.a.d.h.b(Unknown Source)
at com.aspose.cells.py.c(Unknown Source)
at com.aspose.cells.py.b(Unknown Source)
at com.aspose.cells.py.(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.open(Unknown Source)
编辑
如果我使用file.transferTo(outputFile),那么对于少数文件,我也会遇到此异常
java.lang.IllegalStateException: The FAT in the structured storage document seems to be corrupted.
at com.aspose.cells.py.b(Unknown Source)
at com.aspose.cells.py.b(Unknown Source)
at com.aspose.cells.py.(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.open(Unknown Source)