Java 使用poi从excel文件读取图像和数据

Java 使用poi从excel文件读取图像和数据,java,apache-poi,Java,Apache Poi,我知道如何从excel xls/xlxs中读取数据。现在我的要求是我必须使用POI 3.8从excel文件中读取图像和数据。你能指导我怎么做吗。 使用poi从一个excel文件读取图像和数据。。。。提前感谢直接来自: RTM:)XSSFSheet mySheet1=workbook.getSheetAt(0); 迭代器rowIterator1=mySheet1.Iterator(); if(rowIterator1.hasNext()) { roweiterator1.next(); } int

我知道如何从excel xls/xlxs中读取数据。现在我的要求是我必须使用POI 3.8从excel文件中读取图像和数据。你能指导我怎么做吗。 使用poi从一个excel文件读取图像和数据。。。。提前感谢

直接来自:

RTM:)

XSSFSheet mySheet1=workbook.getSheetAt(0);
迭代器rowIterator1=mySheet1.Iterator();
if(rowIterator1.hasNext())
{
roweiterator1.next();
}
int pcount=1;
迭代器it=lst.Iterator();

for(int i=0;ithanks,但它仅适用于图片我想从文件中读取其他数据,就像我有一个文件,其中有一个人的图片及其姓名、电子邮件、地址和电话号码,我有100条记录,如dis,所以我想读取图片和剩余数据。getAllPictures()我会给我所有的图片我建议你阅读开发者指南,然后,如果你已经这样做了,发布你已经尝试过的东西。我已经这样做了。我也尝试过这段代码,但我的要求是阅读数据和图片。我想你没有明白我的意思。我完全理解你正在尝试做什么,但我没有我会给你一个答案。如果你展示了你迄今为止为自己解决问题所做的努力,我会帮助你告诉你所做的有什么问题。这个网站不是为你做工作的,它是在你陷入困境时帮助你,并能显示出你已经做出了努力。就像我说的,展示你迄今为止所做的努力,我会帮助你解决问题。我知道这就是你想要的。显示你目前拥有的代码,我会帮你修复。不显示代码,我也帮不了你。
List lst = workbook.getAllPictures();
for (Iterator it = lst.iterator(); it.hasNext(); ) {
    PictureData pict = (PictureData)it.next();
    String ext = pict.suggestFileExtension();
    byte[] data = pict.getData();
    if (ext.equals("jpeg")){
      FileOutputStream out = new FileOutputStream("pict.jpg");
      out.write(data);
      out.close();
    }
}
XSSFSheet mySheet1 = workbook.getSheetAt(0);
Iterator<Row> rowIterator1 = mySheet1.iterator();
if(rowIterator1.hasNext())
{
    rowIterator1.next();
}
int pcount=1;
Iterator<XSSFPictureData> it = lst.iterator();

for (int i=0; i<lst.size(); i++)
{
    Row row = rowIterator1.next();

 //   PictureData pict = (PictureData)it.next();
    PictureData pict = (PictureData)lst.get(i);

    String ext = pict.suggestFileExtension();

    byte[] data = pict.getData();
    String studentName = row.getCell(3).getStringCellValue();
    int age =(int)row.getCell(14).getNumericCellValue();
    int year = (int)row.getCell(16).getNumericCellValue();

    System.out.println(studentName+":"+age+":"+year);

    FileOutputStream out = new FileOutputStream("D:\\excel\\RPC\\"+pcount+"."+year+"."+age+".png");

    out.write(data);
    out.close();
    pcount++;

    rowIterator1.hasNext();

    }
}