Utilisation de jexcelapi pour lire un fichier excel avec java

Description

Ce tutoriel explique comment lire et éditer un fichier excel à l'aide d'un code java.

Les fonctionnalités qui sont exposées sont sommaires, pour une utilisation plus avancée, référez vous à la documentation présente ici : http://www.andykhan.com/jexcelapi/tutorial.html

Pour utiliser JExcelAPI, il faut télécharger le fichier jar sur sourceforge : http://sourceforge.net/projects/jexcelapi/files/jexcelapi/ et inclure jxl.jar dans le classpath du projet

Source / Exemple :


package fr.julien.demojxl;

import java.io.File;
import java.io.IOException;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class LectureFichierExcel {

	
	public static void main(String[] args) {
		Workbook workbook = null;
		try {
			/* Récupération du classeur Excel (en lecture) */
			workbook = Workbook.getWorkbook(new File("D:\\exemple.xls"));
			
			/* Un fichier excel est composé de plusieurs feuilles, on y accède de la manière suivante*/
			Sheet sheet = workbook.getSheet(0);
			
			/* On accède aux cellules avec la méthode getCell(indiceColonne, indiceLigne) */
			Cell a1 = sheet.getCell(0,0); 
			
			/* On peut également le faire avec getCell(nomCellule) */
			Cell c5 = sheet.getCell("C5");
			
			/* On peut récupérer le contenu d'une cellule en utilisant la méthode getContents() */
			String contenuA1= a1.getContents();
			String contenuC5 = c5.getContents();
			
			System.out.println(contenuA1);
			System.out.println(contenuC5);
		} 
		catch (BiffException e) {
			e.printStackTrace();
		} 
		catch (IOException e) {
			e.printStackTrace();
		} 
		finally {
			if(workbook!=null){
				/* On ferme le worbook pour libérer la mémoire */
				workbook.close(); 
			}
		}
	}

}

package fr.julien.demojxl;

import java.io.File;
import java.io.IOException;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class EcritureFichierExcel {

	public static void main(String[] args) {
		WritableWorkbook workbook = null;
		try {
			/* On créé un nouveau worbook et on l'ouvre en écriture */
			workbook = Workbook.createWorkbook(new File("D:\\exemple2.xls"));
			
			/* On créé une nouvelle feuille (test en position 0) et on l'ouvre en écriture */
			WritableSheet sheet = workbook.createSheet("test", 0); 
			
			/* Creation d'un champ au format texte */
			Label label = new Label(0, 0, "position A1");
			sheet.addCell(label);

			/* Creation d'un champ au format numerique */
			Number number = new Number(0, 1, 3.1459);
			sheet.addCell(number); 
			
			/* On ecrit le classeur */
			workbook.write(); 
			
		} 
		catch (IOException e) {
			e.printStackTrace();
		} 
		catch (RowsExceededException e) {
			e.printStackTrace();
		}
		catch (WriteException e) {
			e.printStackTrace();
		}
		finally {
			if(workbook!=null){
				/* On ferme le worbook pour libérer la mémoire */
				try {
					workbook.close();
				} 
				catch (WriteException e) {
					e.printStackTrace();
				} 
				catch (IOException e) {
					e.printStackTrace();
				} 
			}
		}

	}

}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.