java读取excel中的多图片
2015-09-17 20:54
477 查看
excel文件如图
,获取张三的基本信息及图片信息。
代码如下:
需要导入poi相关的jar 版本3.9及以上
public class ReadExcel {
public static void main(String[] args) throws Exception {
InputStream inp = new FileInputStream("F:\\xxx.xls");
HSSFWorkbook workbook = (HSSFWorkbook) WorkbookFactory.create(inp);
List<HSSFPictureData> pictures = workbook.getAllPictures();
HSSFSheet sheet = (HSSFSheet) workbook.getSheetAt(0);
Map<String,Object> map = new HashMap<String,Object>();
for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
HSSFClientAnchor anchor = (HSSFClientAnchor) shape.getAnchor();
if (shape instanceof HSSFPicture) {
HSSFPicture pic = (HSSFPicture) shape;
int row = anchor.getRow2();
int col = anchor.getCol2();
System.out.println("--->" + anchor.getRow2() + ":" + anchor.getCol2());
//map.put(row+":"+col, row+":"+col);
int pictureIndex = pic.getPictureIndex()-1;
HSSFPictureData picData = pictures.get(pictureIndex);
System.out.println("--->" + picData);
map.put(row+":"+col, picData);
savePic(UUID.randomUUID().toString(), picData);
}
}
System.out.println(map);
}
private static void savePic(String i, PictureData pic) throws Exception {
String ext = pic.suggestFileExtension();
byte[] data = pic.getData();
if (ext.equals("jpeg")) {
FileOutputStream out = new FileOutputStream("F:\\" + i + ".jpg");
out.write(data);
out.close();
File file = new File("F:\\" + i + ".jpg");
FileInputStream in = new FileInputStream(file);
System.out.println("in===>"+in);
if(file.isFile()){
file.delete();
System.out.println("=============delete");
}
}
/* if (ext.equals("png")) {
FileOutputStream out = new FileOutputStream("F:\\" + i + ".jpg");
out.write(data);
out.close();
} */
}
}
,获取张三的基本信息及图片信息。
代码如下:
需要导入poi相关的jar 版本3.9及以上
public class ReadExcel {
public static void main(String[] args) throws Exception {
InputStream inp = new FileInputStream("F:\\xxx.xls");
HSSFWorkbook workbook = (HSSFWorkbook) WorkbookFactory.create(inp);
List<HSSFPictureData> pictures = workbook.getAllPictures();
HSSFSheet sheet = (HSSFSheet) workbook.getSheetAt(0);
Map<String,Object> map = new HashMap<String,Object>();
for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
HSSFClientAnchor anchor = (HSSFClientAnchor) shape.getAnchor();
if (shape instanceof HSSFPicture) {
HSSFPicture pic = (HSSFPicture) shape;
int row = anchor.getRow2();
int col = anchor.getCol2();
System.out.println("--->" + anchor.getRow2() + ":" + anchor.getCol2());
//map.put(row+":"+col, row+":"+col);
int pictureIndex = pic.getPictureIndex()-1;
HSSFPictureData picData = pictures.get(pictureIndex);
System.out.println("--->" + picData);
map.put(row+":"+col, picData);
savePic(UUID.randomUUID().toString(), picData);
}
}
System.out.println(map);
}
private static void savePic(String i, PictureData pic) throws Exception {
String ext = pic.suggestFileExtension();
byte[] data = pic.getData();
if (ext.equals("jpeg")) {
FileOutputStream out = new FileOutputStream("F:\\" + i + ".jpg");
out.write(data);
out.close();
File file = new File("F:\\" + i + ".jpg");
FileInputStream in = new FileInputStream(file);
System.out.println("in===>"+in);
if(file.isFile()){
file.delete();
System.out.println("=============delete");
}
}
/* if (ext.equals("png")) {
FileOutputStream out = new FileOutputStream("F:\\" + i + ".jpg");
out.write(data);
out.close();
} */
}
}
相关文章推荐
- struts2基于注解的配置Demo
- java 泛型实例详解(普通泛型、 通配符、 泛型接口)
- test4.2
- java 不寻常的问题 No bean named 'sessionFactory' is defined 和 initialize a collection of role
- test4.1
- java基础-Map集合
- springmvc+log4j操作日志记录,详细配置
- Single Number --- 找出数组中出现一次的数字
- Java 输入一个数字将其转换为汉字,如:102,一百零二
- java File详解
- Java的开始?
- spring2.5 xml的简单入门示例(aop)
- java中的随机数Random
- Java 泛型、通配符? 解惑
- eclipse 如何修改jsp的编码方式?
- Java乱码处理
- java.io.IOException: Prepare failed.: status=0x1
- java 堆中新生代老年代
- Struts2的类型转换器
- Struts2的类型转换器