Excel利用poi插入图片2003/2007版本demo

demo

public static void main(String[] args) {
		FileOutputStream fileOut = null;
		BufferedImage bufferImg = null;
		// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
		try {
			ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
			bufferImg = ImageIO.read(new File("D:/6993455.jpg"));
			ImageIO.write(bufferImg, "jpg", byteArrayOut);

			XSSFWorkbook wb = new XSSFWorkbook();
			XSSFSheet sheet1 = wb.createSheet("test picture");
			// 画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)
			XSSFDrawing patriarch = sheet1.createDrawingPatriarch();
			// XSSFClientAnchor anchor1 = new XSSFClientAnchor(0, 0,
			// 1023,100,(short) 1, 1, (short)5, 8);
			// XSSFClientAnchor anchor2 = new XSSFClientAnchor(0, 0,
			// 1023,100,(short) 1, 9, (short)5, 16);
			// //插入图片
			// patriarch.createPicture(anchor1,
			// wb.addPicture(byteArrayOut.toByteArray(),
			// XSSFWorkbook.PICTURE_TYPE_JPEG));
			// patriarch.createPicture(anchor2,
			// wb.addPicture(byteArrayOut.toByteArray(),
			// XSSFWorkbook.PICTURE_TYPE_JPEG));
			// anchor主要用于设置图片的属性
			XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 255, 255, (short) 1, 1, (short) 5, 8);
			anchor.setAnchorType(3);
			// 插入图片
			patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), XSSFWorkbook.PICTURE_TYPE_JPEG));
			fileOut = new FileOutputStream("D:/测试Excel.xlsx");
			// 写入excel文件
			wb.write(fileOut);
			System.out.println("----2007Excle文件已生成------");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (fileOut != null) {
				try {
					fileOut.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

//		// 2003版本
//		FileOutputStream fileOut = null;
//		BufferedImage bufferImg = null;
//		// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
//		try {
//			ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
//			bufferImg = ImageIO.read(new File("F:/图片/照片/无名氏/小昭11.jpg"));
//			ImageIO.write(bufferImg, "jpg", byteArrayOut);
//
//			HSSFWorkbook wb = new HSSFWorkbook();
//			HSSFSheet sheet1 = wb.createSheet("test picture");
//			// 画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)
//			HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
//			// anchor主要用于设置图片的属性
//			HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 255, 255, (short) 1, 1, (short) 5, 8);
//			anchor.setAnchorType(3);
//			// 插入图片
//			patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
//			fileOut = new FileOutputStream("D:/测试Excel.xls");
//			// 写入excel文件
//			wb.write(fileOut);
//			System.out.println("----2003Excle文件已生成------");
//		} catch (Exception e) {
//			e.printStackTrace();
//		} finally {
//			if (fileOut != null) {
//				try {
//					fileOut.close();
//				} catch (IOException e) {
//					e.printStackTrace();
//				}
//			}
//		}

	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值