Programa Java para insertar datos de una base de datos a una hoja de cálculo

Una base de datos es una colección persistente de datos e información que se organiza de una manera particular para un acceso rápido, de manera similar, las hojas de cálculo son otra forma de almacenar datos en forma tabular. Hay dos tipos de bases de datos de las cuales la base de datos estructurada, en particular la base de datos MySQL, se ilustra aquí y LibreOffice Calc como herramienta de hoja de cálculo. La inserción de datos de MySQL a la hoja de cálculo es muy útil, ya que facilita la visualización y recuperación de datos para todos los que no están familiarizados con SQL. Trabajar con hojas de cálculo usando Java requiere el uso de APACHE POI. Apache Poi es la API de Java para trabajar con documentos de Microsoft. Descargue los archivos jar mencionados a continuación relacionados con apache que nos ayudarán a trabajar con hojas de cálculo. De manera similar, JDBC es la API de Java utilizada para conectar Java a MySQL. Descargue mysql-connector-java-5.1.6-bin.

  1. mysql-conector-java-5.1.6-bin.jar
  2. dom4j-1.6.jar
  3. poi-3.9.jar
  4. poi-ooxml-3.9.jar
  5. poi-ooxml-schemas-3.9.jar
  6. xmlbeans-2.3.0.jar

Dada la siguiente estructura de tabla, todos los datos presentes en esta tabla deben almacenarse en la hoja de cálculo con atributos de tabla como los nombres de celda de la hoja de cálculo.

Esquema de tabla

Algoritmo:

  1. Abra una nueva conexión a la base de datos utilizando las credenciales de inicio de sesión de la base de datos. Esto se hace usando el método getConnection(). Cada objeto de la clase Connection representa una nueva conexión a la base de datos.
  2. Ejecute la consulta SQL y almacene el resultado.
  3. Cree un nuevo libro de trabajo -> hoja -> fila.
  4. Cree las nuevas celdas correspondientes a cada columna en la tabla de la base de datos.
  5. Iterar a través del conjunto de resultados almacenado y almacenar los valores en la columna correspondiente.

Sintaxis, parámetros y tipo de retorno de las funciones incorporadas utilizadas:

1. Connection getConnection(String URL, String username, String Password);
2. Statement createStatement();
3. ResultSet executeQuery(String sql_query);
4. XSSFSheet createSheet(String sheet_name);
5. XSSFRow createRow(int row_no);
6. XSSFCell createCell(int cell_no);
7. void setCellValue(String cell_name);
8. bool next();
9. void write(FileOutputStream output);

Implementación: 

Java

// Java Program to Insert Data
// from a Database to a Spread Sheet
 
// Importing required modules
 
// File libraries
import java.io.File;
import java.io.FileOutputStream;
// Step 1: Importing Database modules
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
// Importing API modules
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;
 
// Main (App) class shown only
// not its Connection class
public class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
 
        // Step 2 : Load and Register drivers
 
        // Loading drivers using forName() method
        Class.forName("com.mysql.jdbc.Driver");
 
        // Registering drivers using Driver Manager
        // Step 3: Establish. a connection
        Connection connection = DriverManager.getConnection(
            "jdbc:mysql://localhost:3306/students", "root",
            "Swapnil@123");
 
        // Step 4: Proces the statement
        // Getting data from the table details
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery(
            "select * from details");
 
        // Step 5: Execute a query
        // Create a workbook
        XSSFWorkbook workbook = new XSSFWorkbook();
 
        // Create a spreadsheet inside a workbook
        XSSFSheet spreadsheet1
            = workbook.createSheet("student db");
        XSSFRow row = spreadsheet1.createRow(1);
        XSSFCell cell;
 
        // Step 6: Process the results
        cell = row.createCell(1);
        cell.setCellValue("RollNo");
 
        cell = row.createCell(2);
        cell.setCellValue("Name");
 
        // i=2 as we will start writing from the
        // 2'nd row
        int i = 2;
 
        while (resultSet.next()) {
            row = spreadsheet1.createRow(i);
            cell = row.createCell(1);
            cell.setCellValue(resultSet.getInt("RollNo"));
 
            cell = row.createCell(2);
            cell.setCellValue(resultSet.getString("Name"));
 
            i++;
        }
 
        // Local directory on computer
        FileOutputStream output = new FileOutputStream(new File(
            "/home/swapnil/Desktop/sem9/student_database_geeks_for_geeks.xlsx"));
 
        // write
        workbook.write(output);
 
        // Step 7: Close the connection
        output.close();
 
        // Display message for successful compilation of
        // program
        System.out.println(
            "exceldatabase.xlsx written successfully");
    }
}

Salida: Salida interna: tabla SQL generada en la terminal (CMD para Windows) que refleja los cambios realizados en la base de datos creada que se ilustra.

Entradas de tabla

Salida externa: Este será un archivo de Excel según el directorio local mencionado en el programa java.

Publicación traducida automáticamente

Artículo escrito por swapnilbuchke y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *