Home Tutorials Poi Insert Image into Excel Sheet
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Insert Image into Excel Sheet

Advertisement
In this section, you will learn how to insert image into excel sheet using Apache POI.

Insert Image into Excel Sheet

In this section, you will learn how to insert image into excel sheet using Apache POI.

In the given below example, am image is insert into excel sheet at row 1 and at column 1. you can specify the top left corner of the image where image's top left corner will be placed.

Given below the code :

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;

import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.Picture;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class XLInsertImage {
public static void main(String[] args) throws Exception {
//create a new workbook
Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();

//add picture data to this workbook.
InputStream is = new FileInputStream("xls/PC.png");
byte[] bytes = IOUtils.toByteArray(is);
int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
is.close();

CreationHelper helper = wb.getCreationHelper();

//create sheet
Sheet sheet = wb.createSheet();

// Create the drawing patriarch. This is the top level container for all shapes. 
Drawing drawing = sheet.createDrawingPatriarch();

//add a picture shape
ClientAnchor anchor = helper.createClientAnchor();
//set top-left corner of the picture,
//subsequent call of Picture#resize() will operate relative to it
anchor.setCol1(0);
anchor.setRow1(0);
Picture pict = drawing.createPicture(anchor, pictureIdx);

//auto-size picture relative to its top-left corner
pict.resize();

//save workbook
String file = "xls/picture.xls";
if(wb instanceof XSSFWorkbook) file += "x";
FileOutputStream fileOut = new FileOutputStream(file);
wb.write(fileOut);
fileOut.close();
}
}

OUTPUT

Download Source Code

Advertisement

Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: August 12, 2011

Ask Questions?    Discuss: Insert Image into Excel Sheet  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
pradeep
November 21, 2011
which jar files are required for bellow example

http://www.roseindia.net/tutorials/poi/ExcelImage.shtml
Hadri
June 19, 2013
poi images

how to add the images the a collumn ??
Ram Mahesh
August 6, 2013
Add height and width for image

This code works well for normal image insertion. In case of setting the height and width for the inserted image, how to do? What is the process.
DMCA.com