java poi获取excel 2003中的ole文件
时间: 2024-01-28 10:05:46 浏览: 136
要获取Excel 2003中的OLE文件,可以使用POI提供的HSSFWorkbook类和POIFSFileSystem类。具体步骤如下:
1. 使用POIFSFileSystem类读取Excel文件
```java
FileInputStream fis = new FileInputStream("example.xls");
POIFSFileSystem fs = new POIFSFileSystem(fis);
```
2. 获取OLE对象的输入流
```java
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFObjectData obj = sheet.getObjectData(0);
InputStream is = obj.getObjectData().getInputStream();
```
3. 将输入流写入文件或进行其他操作
```java
FileOutputStream fos = new FileOutputStream("example.doc");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
```
需要注意的是,Excel文件中的OLE对象可能是各种类型的文件,需要根据具体情况进行处理。此外,POI还提供了其他类似的方法,如XSSFWorkbook和POIXMLDocument类,用于读取Excel 2007及以上版本的文件。
阅读全文