0
我知道如何从excel xls/xlxs读取数据。现在我的要求是我必须使用POI 3.8从excel文件读取图像和数据。你能指导我如何做到这一点。 读取图像和数据都来自一个excel文件提前使用POI ....谢谢使用poi从excel文件读取图像和数据
我知道如何从excel xls/xlxs读取数据。现在我的要求是我必须使用POI 3.8从excel文件读取图像和数据。你能指导我如何做到这一点。 读取图像和数据都来自一个excel文件提前使用POI ....谢谢使用poi从excel文件读取图像和数据
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();
}
}
RTM :)
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();
}
}
感谢,但其只对我的图片想要从文件中读取其他数据,就像我有一个文件,其中我有一个人的图片和它的名字,电子邮件,地址和电话号码,我有100个记录像DIS,所以我想读取图片和其余数据为well workbook.getAllPic tures()会给我所有的图片 –
我建议阅读开发者指南,然后,如果你已经这样做了,发布你已经尝试过的东西。 – GaryF
我已经做了。我已经尝试了这个代码以及它的工作,但我的要求是读取数据和图片。我认为你没有得到我的观点 –