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

时间:2016-12-11 13:34:12

标签: java excel apache-poi

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

1 个答案:

答案 0 :(得分:2)

让我们有一个完整的例子而不是令人费解。

<?php
$dbh = new PDO('pgsql:host=localhost', $username, $password);
$pid = pcntl_fork();
if($pid == 0){
        register_shutdown_function(function(){
                posix_kill(getmypid(), SIGKILL);
        });
        exit;
}
sleep(1);
$statement = $dbh->query('select 1');
var_dump($statement);

适用于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)以及*.xlsXSSF)。