Utilisation de jexcelapi pour lire un fichier excel avec java

Soyez le premier à donner votre avis sur cette source.

Vue 35 260 fois - Téléchargée 3 472 fois

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

Ajouter un commentaire

Commentaires

Bonjour,

J'ai essayé de tester votre projet. Pour cela, j'ai téléchargé la JExcelAPI et j'ai ajouté le jxl.jar au CLASSPATH de mon projet eclipse.
Mais quand je veux compiler la classe EcritureFichierExcel par exemple via l'invite de commande : javac EcritureFichierExcel.java, il me dit que les packages jxl.write, la classe jxl.Workbook... n'existent pas. Pourtant, le jar est bien dans le CLASSPATH.

Est-ce que vous sauriez ce qui ne va pas, faut-il compiler différemment ?

Merci à vous,
-
Superbe ça a l'air de répondre à toutes mes questions, bravo. Simple efficace direct.
comment faire pour les fichiers xlsx svp?
Salut!
J'aimerais savoir comment on modifie un fichier excel déjà existant!

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.