0
我有一个问题在第一眼看起来很难,但也许有一个非常简单的解决方案,我不知道它。我需要读取存储在oracle数据库CLOB列中的excel文件的二进制数据。使用POI读取Java数据库(CLOB列)中的Excel数据
在java中读取CLOB作为字符串的一切都可以。我将excel文件作为字符串参数的二进制文件。
String respXLS = othRaw.getOperationData(); // here I get excel file
InputStream bais = new ByteArrayInputStream(respXLS.getBytes());
POIFSFileSystem fs = new POIFSFileSystem(bais);
HSSFWorkbook wb = new HSSFWorkbook(fs);
然后我尝试读取ByteStreamData,放在POIFSFileSystem,但我得到这个异常:
java.io.IOException: Invalid header signature; read 0x00003F1A3F113F3F, expected 0xE11AB1A1E011CFD0
我GOOGLE了一些出类拔萃的问题,他们提到有关读取权限。所以我把相同的excel文件下载到hdd,并且没有任何改变(即使我没有打开它),并通过给文件路径使用FileInputStream。它工作完美无瑕。那么是什么原因?
任何意见或从CLOB读取的替代方法将不胜感激。
在此先感谢, 我的问候。
谢谢你的解决方法。 –