使用java从e​​xcel中获取图像

我正在使用Apache POI 。 我能够从Excel中读取数据,但无法从Excel中读取图像。 如何从Excel中读取图像。

让我们有一个完整的例子,而不是迷惑。

import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.PictureData; import java.io.InputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.List; import java.util.Iterator; class ReadExcelImages { public static void main(String[] args) throws Exception{ InputStream inp = new FileInputStream("test.xls"); //InputStream inp = new FileInputStream("test.xlsx"); Workbook workbook = WorkbookFactory.create(inp); List lst = workbook.getAllPictures(); int i = 1; for (Iterator it = lst.iterator(); it.hasNext(); ) { PictureData pict = (PictureData)it.next(); String ext = pict.suggestFileExtension(); byte[] data = pict.getData(); if (ext.equals("png")){ FileOutputStream out = new FileOutputStream("pict" + i++ + ".png"); out.write(data); out.close(); } else if (ext.equals("jpeg")) { FileOutputStream out = new FileOutputStream("pict" + i++ + ".jpeg"); out.write(data); out.close(); } } } } 

适用于HSSF*.xls )以及XSSF*.xlsx )。