Программа на Java для вставки данных из базы данных в электронную таблицу

Опубликовано: 30 Ноября, 2021

База данных - это постоянный набор данных и информации, который организован определенным образом для быстрого доступа. Аналогичным образом электронные таблицы - это еще один способ хранения данных в табличной форме. Существует два типа баз данных, из которых здесь проиллюстрирована структурированная база данных, в частности база данных MySQL, и LibreOffice Calc в качестве инструмента для работы с электронными таблицами. Вставка данных из MySQL в электронную таблицу очень полезна, поскольку упрощает просмотр и извлечение данных для всех, кто не знаком с SQL. Работа с электронными таблицами с использованием java требует использования APACHE POI. Apache Poi - это Java API для работы с документами Microsoft. Загрузите указанные ниже файлы jar, относящиеся к apache, которые помогут нам работать с электронными таблицами. Точно так же JDBC - это Java API, используемый для подключения Java к MySQL. Загрузите файл mysql-connector-java-5.1.6-bin.jar по приведенной ниже ссылке.

  1. mysql-connector-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

Учитывая следующую структуру таблицы, все данные, представленные в этой таблице, должны храниться в электронной таблице с атрибутами таблицы в качестве имен ячеек электронной таблицы.

Схема таблицы

Алгоритм:

  1. Откройте новое соединение с базой данных, используя учетные данные для входа в базу данных. Это делается с помощью метода getConnection (). Каждый объект класса Connection представляет новое соединение с базой данных.
  2. Выполните SQL-запрос и сохраните результат.
  3. Создайте новую книгу -> лист -> строка.
  4. Создайте новые ячейки, соответствующие каждому столбцу в таблице базы данных.
  5. Просмотрите сохраненный набор результатов и сохраните значения в соответствующем столбце.

Синтаксис, параметры и тип возвращаемого значения используемых встроенных функций:

 1. Соединение getConnection (строковый URL, строковое имя пользователя, строковый пароль);
2. Оператор createStatement ();
3. ResultSet executeQuery (String sql_query);
4. XSSFSheet createSheet (строка имя_листа);
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);

Выполнение:

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

Выход: Внутренний выход: Таблица SQL, созданная в терминале (CMD для Windows), отражающая изменения, внесенные в созданную базу данных, которые проиллюстрированы.

Записи в таблице

Внешний вывод: это будет файл Excel в соответствии с локальным каталогом, указанным в java-программе.

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .