Apache POI - Base de données
Ce chapitre explique comment la bibliothèque POI interagit avec une base de données. Avec l'aide de JDBC, vous pouvez récupérer des données d'une base de données et insérer ces données dans une feuille de calcul à l'aide de la bibliothèque POI. Considérons la base de données MySQL pour les opérations SQL.
Écrire dans Excel à partir de la base de données
Supposons que le tableau de données des employés suivant appelé emp_tbl doit être récupéré de la base de données MySQL test.
ID EMP | NOM EMP | DEG | UN SALAIRE | DEPT |
---|---|---|---|---|
1201 | Gopal | Directeur technique | 45 000 | IL |
1202 | Manisha | Lecteur d'épreuves | 45 000 | Essai |
1203 | Masthanvali | Rédacteur technique | 45 000 | IL |
1204 | Kiran | Administrateur RH | 40000 | HEURE |
1205 | Kranthi | Administrateur des opérations | 30000 | Administrateur |
Utilisez le code suivant pour récupérer des données à partir d'une base de données et les insérer dans une feuille de calcul.
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelDatabase {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test" ,
"root" ,
"root"
);
Statement statement = connect.createStatement();
ResultSet resultSet = statement.executeQuery("select * from emp_tbl");
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet("employe db");
XSSFRow row = spreadsheet.createRow(1);
XSSFCell cell;
cell = row.createCell(1);
cell.setCellValue("EMP ID");
cell = row.createCell(2);
cell.setCellValue("EMP NAME");
cell = row.createCell(3);
cell.setCellValue("DEG");
cell = row.createCell(4);
cell.setCellValue("SALARY");
cell = row.createCell(5);
cell.setCellValue("DEPT");
int i = 2;
while(resultSet.next()) {
row = spreadsheet.createRow(i);
cell = row.createCell(1);
cell.setCellValue(resultSet.getInt("eid"));
cell = row.createCell(2);
cell.setCellValue(resultSet.getString("ename"));
cell = row.createCell(3);
cell.setCellValue(resultSet.getString("deg"));
cell = row.createCell(4);
cell.setCellValue(resultSet.getString("salary"));
cell = row.createCell(5);
cell.setCellValue(resultSet.getString("dept"));
i++;
}
FileOutputStream out = new FileOutputStream(new File("exceldatabase.xlsx"));
workbook.write(out);
out.close();
System.out.println("exceldatabase.xlsx written successfully");
}
}
Sauvegardons le code ci-dessus sous ExcelDatabase.java. Compilez et exécutez-le à partir de l'invite de commande comme suit.
$javac ExcelDatabase.java
$java ExcelDatabase
Il générera un fichier Excel nommé exceldatabase.xlsx dans votre répertoire actuel et affichez la sortie suivante sur l'invite de commande.
exceldatabase.xlsx written successfully
le exceldatabase.xlsx Le fichier se présente comme suit.