Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Java Excel: Ajouter une image dans un fichier Excel

 int,string,char,static, url, socket, url, socket, java
{filelink=23}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mesexemples;
 
 
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
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.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
/**
 * 
 * @author mesexemples.com
 */
public class ImageToExcel 
{
 
        public static void main(String []args)throws Exception
    {
        // créer un nouveau fichier excel
        FileOutputStream out = new FileOutputStream("image_workbook.xls");
        // créer un classeur
        Workbook wb = new HSSFWorkbook();
        // créer une feuille
        Sheet mySheet = wb.createSheet("Exporter image dans fichier Excel");
 
        // Lirel'image à l'aide d'un stream
        InputStream inputStream = new FileInputStream("c:/no_image.jpg");
         byte[] bytes = IOUtils.toByteArray(inputStream);
        //Ajouter l'image au classeur
         int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
          //fermer le stream
          inputStream.close();
 
          //Gérer l'aspect affichage de l'image
          CreationHelper helper = wb.getCreationHelper();
          Drawing drawing = mySheet.createDrawingPatriarch();
         ClientAnchor anchor = helper.createClientAnchor();
          anchor.setCol1(1);
          anchor.setRow1(2);
 
            Picture pict = drawing.createPicture(anchor, pictureIdx);
            pict.resize();          
 
        // créer une ligne de à l'index 2 dans la feuille Excel
        Row myRow = null;      
        myRow = mySheet.createRow(2);
 
        // Ajouter des données dans les cellules
        myRow.createCell(0).setCellValue("Java Execl");
        myRow.createCell(1).setCellValue("Mesexemple.com");
        myRow.createCell(2).setCellValue("Sakoba Adams");
 
        wb.write(out);
 
        out.close();
    }
}