Apache POI - Datenbank

In diesem Kapitel wird erläutert, wie die POI-Bibliothek mit einer Datenbank interagiert. Mithilfe von JDBC können Sie Daten aus einer Datenbank abrufen und diese Daten mithilfe der POI-Bibliothek in eine Tabelle einfügen. Betrachten wir die MySQL-Datenbank für SQL-Operationen.

Schreiben Sie aus der Datenbank in Excel

Nehmen wir die folgende Mitarbeiterdatentabelle an emp_tbl soll aus der MySQL-Datenbank abgerufen werden test.

EMP ID EMP NAME DEG GEHALT DEPT
1201 Gopal Technischer Manager 45000 ES
1202 Manisha Korrekturleser 45000 Testen
1203 Masthanvali Technischer Schreiber 45000 ES
1204 Kiran Hr Admin 40000 HR
1205 Kranthi Op Admin 30000 Administrator

Verwenden Sie den folgenden Code, um Daten aus einer Datenbank abzurufen und in eine Tabelle einzufügen.

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");
   }
}

Speichern wir den obigen Code als ExcelDatabase.java. Kompilieren Sie es und führen Sie es an der Eingabeaufforderung wie folgt aus.

$javac ExcelDatabase.java
$java ExcelDatabase

Es wird eine Excel-Datei mit dem Namen generiert exceldatabase.xlsx in Ihrem aktuellen Verzeichnis und zeigen Sie die folgende Ausgabe an der Eingabeaufforderung an.

exceldatabase.xlsx written successfully

Das exceldatabase.xlsx Datei sieht wie folgt aus.