Exploitons Excel avec Java! !!

Excel

Tout d'abord, préparons un fichier Excel!

6668de5bf05cb524e045cb3aabae269b.png

Java

javaExcel



import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.DateUtil;
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.ss.usermodel.WorkbookFactory;

/**
 *Obtenez la valeur de la cellule dans Excel
 *
 */
public class ExcelC {

	public static final String SAMPLE_XLSX_FILE_PATH = "D:\\filesample\\sampleBook.xlsx";

	public static void main(String[] args) throws IOException, InvalidFormatException {

        // Creating a Workbook from an Excel file (.xls or .xlsx)
        Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));

        Sheet sheet = workbook.getSheetAt(0);
        Row head = sheet.getRow(1);
        ExcelC aaa = new ExcelC();
        DataFormatter dataFormatter = new DataFormatter();
        //cellrow
        int bb = 3;
        //coordonnées cellY
        for(int y = 2 ; y < 12 ; y++) {
        	Row row = sheet.getRow(y);
        	System.out.print("Row" + bb + "\r\n");
        	bb ++;
        	//coordonnées cellX
        	for (int i = 0 ; i < 11 ; i++){
        		Cell headc = head.getCell(i);
        		Cell cell = row.getCell(i);
        		String cellValue = dataFormatter.formatCellValue(headc);
        		System.out.print(cellValue + ": ");
        		aaa.printCellValue(cell);
        		System.out.print("\r\n");

        	}
            System.out.print("\r\n");
        }
        // Closing the workbook
        workbook.close();
	}

	private static void printCellValue(Cell cell) {
		DateFormat fd = DateFormat.getDateInstance(DateFormat.FULL);
	    switch (cell.getCellTypeEnum()) {
	        case BOOLEAN:
	            System.out.print(cell.getBooleanCellValue());
	            break;
	        case STRING:
	            System.out.print(cell.getRichStringCellValue().getString());
	            break;
	        case NUMERIC:
	            if (DateUtil.isCellDateFormatted(cell)) {
	            	Date kkk = cell.getDateCellValue();
	                System.out.print(fd.format(kkk));
	            } else {
	                System.out.print(cell.getNumericCellValue());
	            }
	            break;
	        case FORMULA:
	            System.out.print(cell.getCellFormula());
	            break;
	        case BLANK:
	            System.out.print("");
	            break;
	        default:
	            System.out.print("");
	    }
	    System.out.print("\t");
	}
}

Résultat d'exécution

Row3
ida: a1	
ida: a2	
id: a3	
id: a4	
id: a5	
id: a6	
id: a7	
id: a8	
id: a9	
id: a10	
ida: a11	

Row4
ida: b1	
ida: b2	
id: b3	
id: b4	
id: b5	
id: b6	
id: b7	
id: b8	
id: b9	
id: b10	
ida: b11	

Row5
ida: c1	
ida: c2	
id: c3	
id: c4	
id: c5	
id: c6	
id: c7	
id: c8	
id: c9	
id: c10	
ida: c11	

Row6
ida: d1	
ida: d2	
id: d3	
id: d4	
id: d5	
id: d6	
id: d7	
id: d8	
id: d9	
id: d10	
ida: d11	

Row7
ida: e1	
ida: e2	
id: e3	
id: e4	
id: e5	
id: e6	
id: e7	
id: e8	
id: e9	
id: e10	
ida: e11	

Row8
ida: f1	
ida: f2	
id: f3	
id: f4	
id: f5	
id: f6	
id: f7	
id: f8	
id: f9	
id: f10	
ida: f11	

Row9
ida: g1	
ida: g2	
id: g3	
id: g4	
id: g5	
id: g6	
id: g7	
id: g8	
id: g9	
id: g10	
ida: g11	

Row10
ida: h1	
ida: h2	
id: h3	
id: h4	
id: h5	
id: h6	
id: h7	
id: h8	
id: h9	
id: h10	
ida: h11	

Row11
ida: i1	
ida: i2	
id: i3	
id: i4	
id: i5	
id: i6	
id: i7	
id: i8	
id: i9	
id: i10	
ida: i11	

Row12
ida: j1	
ida: j2	
id: j3	
id: j4	
id: j5	
id: j6	
id: j7	
id: j8	
id: j9	
id: j10	
ida: j11	

Java (implémenté avec Iterator)

javaExcelIterator


import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;
import java.util.Iterator;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.DateUtil;
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.ss.usermodel.WorkbookFactory;

/**
 *Obtenez la valeur de la cellule dans Excel(Iterator)
 *
 */
public class GetOutExcel {

	public static final String SAMPLE_XLSX_FILE_PATH = "D:\\filesample\\sampleBook.xlsx";

	public static void main(String[] args) throws IOException, InvalidFormatException {

        // Creating a Workbook from an Excel file (.xls or .xlsx)
        Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));

        // Retrieving the number of sheets in the Workbook
        System.out.println("Workbook has " + workbook.getNumberOfSheets() + " Sheets : ");

        // 1. You can obtain a sheetIterator and iterate over it
        Iterator<Sheet> sheetIterator = workbook.sheetIterator();
        System.out.println("Retrieving Sheets using Iterator");
        while (sheetIterator.hasNext()) {
            Sheet sheet = sheetIterator.next();
            System.out.println("=> " + sheet.getSheetName());
        }

        // Getting the Sheet at index zero
        Sheet sheet = workbook.getSheetAt(0);

        // Create a DataFormatter to format and get each cell's value as String
        DataFormatter dataFormatter = new DataFormatter();

        //besides String
        GetOutExcel aaa = new GetOutExcel();

        // 1. You can obtain a rowIterator and columnIterator and iterate over them
        System.out.println("\n\nIterating over Rows and Columns using Iterator\n");
        Iterator<Row> rowIterator = sheet.rowIterator();
        int num = 0;
        int num2 = 0;
        String head;
        while (rowIterator.hasNext()) {
        	num ++;
            Row row = rowIterator.next();

            // Now let's iterate over the columns of the current row
            Iterator<Cell> cellIterator = row.cellIterator();
            System.out.print("column"+ num +": ");

            while (cellIterator.hasNext()) {

            	if(num2 >= 10) {
            		num2 -= 10;
            	}
            	num2 ++;
                Cell cell = cellIterator.next();
//                String cellValue = dataFormatter.formatCellValue(cell);

//                System.out.print(cellValue + "\t");
//                System.out.print("column" + num2 + ": " + cellValue + "\r\n");


                //besides String
              aaa.printCellValue(cell);
            }
            System.out.println();
        }
        // Closing the workbook
        workbook.close();

	}

	//besides String
	private static void printCellValue(Cell cell) {
		DateFormat fd = DateFormat.getDateInstance(DateFormat.FULL);
	    switch (cell.getCellTypeEnum()) {
	        case BOOLEAN:
	            System.out.print(cell.getBooleanCellValue());
	            break;
	        case STRING:
	            System.out.print(cell.getRichStringCellValue().getString());
	            break;
	        case NUMERIC:
	            if (DateUtil.isCellDateFormatted(cell)) {
	            	Date kkk = cell.getDateCellValue();
	                System.out.print(fd.format(kkk));
	            } else {
	                System.out.print(cell.getNumericCellValue());
	            }
	            break;
	        case FORMULA:
	            System.out.print(cell.getCellFormula());
	            break;
	        case BLANK:
	            System.out.print("");
	            break;
	        default:
	            System.out.print("");
	    }

	    System.out.print("\t");
	}
}

Résultat d'exécution (Iterator)

Workbook has 1 Sheets : 
Retrieving Sheets using Iterator
=> Sheet1


Iterating over Rows and Columns using Iterator

column1: xx	xx	xx	xx	xx	xx	xx	xx	xx	xx	xx	xx	xx	
column2: ida	ida	id	id	id	id	id	id	id	id	ida	ida	ida	
column3: a1	a2	a3	a4	a5	a6	a7	a8	a9	a10	a11	a12	a13	
column4: b1	b2	b3	b4	b5	b6	b7	b8	b9	b10	b11	b12	b13	
column5: c1	c2	c3	c4	c5	c6	c7	c8	c9	c10	c11	c12	c13	
column6: d1	d2	d3	d4	d5	d6	d7	d8	d9	d10	d11	d12	d13	
column7: e1	e2	e3	e4	e5	e6	e7	e8	e9	e10	e11	e12	e13	
column8: f1	f2	f3	f4	f5	f6	f7	f8	f9	f10	f11	f12	f13	
column9: g1	g2	g3	g4	g5	g6	g7	g8	g9	g10	g11	g12	g13	
column10: h1	h2	h3	h4	h5	h6	h7	h8	h9	h10	h11	h12	h13	
column11: i1	i2	i3	i4	i5	i6	i7	i8	i9	i10	i11	i12	i13	
column12: j1	j2	j3	j4	j5	j6	j7	j8	j9	j10	j11	j12	j13	
column13: k1	k2	k3	k4	k5	k6	k7	k8	k9	k10	k11	k12	k13	
column14: l1	l2	l3	l4	l5	l6	l7	l8	l9	l10	l11	l12	l13	
column15: m1	m2	m3	m4	m5	m6	m7	m8	m9	m10	m11	m12	m13	
column16: n1	n2	n3	n4	n5	n6	n7	n8	n9	n10	n11	n12	n13

Recommended Posts

Exploitons Excel avec Java! !!
Raclons avec Java! !!
Expérimentons l'expansion en ligne Java
Exemple de mise à jour de fichier EXCEL avec JAVA
Étudions Java
Essayons WebSocket avec Java et javascript!
[Java] Gérer les fichiers Excel avec Apache POI
Écrivons l'entrée / sortie de fichier Java avec NIO
[LeJOS] Contrôlons le moteur EV3 avec Java
Créons un processus chronométré avec la minuterie de Java! !!
Installez java avec Homebrew
Changer de siège avec Java
Téléchargement confortable avec JAVA
Changer java avec direnv
Exploitez Emby avec Docker
Téléchargement Java avec Ansible
Construire Java avec Wercker
Conversion Endian avec JAVA
[Bases de Java] Créons un triangle avec une instruction for
[LeJOS] Contrôlons à distance le moteur EV3 avec Java
(Java) BDD facile avec Spectrum?
Utiliser des couches Lambda avec Java
Créer un multi-projet Java avec Gradle
Premiers pas avec Java Collection
Configuration Java avec Spring MVC
Authentification de base avec Java 11 HttpClient
Exécuter un lot avec docker-compose avec Java batch
Réécrire Java try-catch avec facultatif
Installez Java 7 avec Homebrew (cask)
Java pour jouer avec Function
Essayez la connexion DB avec Java
Java fusion et annulation de la cellule Excel
Programmation Java incroyable (arrêtons-nous)
Activer Java EE avec NetBeans 9
Essayez gRPC avec Java, Maven
[Form_with] Unifions le formulaire avec form_with.
Gestion des versions Java avec SDKMAN
Importer des données Excel avec Java 2
Cryptage / décryptage RSA avec Java 8
Pagination de PDF avec Java + PDFBox.jar
Trier les chaînes comme une fonction caractéristique avec Java
Orienté objet avec Strike Gundam (java)
Java transforme Excel en PDF
Importer des données Excel avec Java
[Java] Remplaçons les objets de données par un mappeur ~ BeanMapper Orika ~
[Java] Acquisition de contenu avec HttpCliient
Gestion des versions Java avec jenv
Dépannage avec Java Flight Recorder
Vérification des données Excel d'ajout Java
Rationalisez les tests Java avec Spock
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
Java crée des documents Excel
Erreur lors de la lecture avec java
Utilisation de Mapper avec Java (Spring)
Mémo d'étude Java 2 avec Progate
Premiers pas avec les bases de Java
Importer des données Excel avec Java 3
Affichage saisonnier avec commutateur Java
Utiliser SpatiaLite avec Java / JDBC