Java — Экспорт данных из базы данных в Excel

Excel — это широко известный и используемый инструмент для сортировки, структурирования, анализа и манипулирования большими объемами данных. Если вам нужно проанализировать данные в базе данных, вы можете сначала преобразовать их в таблицу Excel. В этой статье я расскажу, как экспортировать данные из таблицы Access в Excel с помощью Spire.XLS for Java.

Добавьте файл Spire.Xls jar в качестве зависимости

Если вы работаете над проектом maven, вы можете включить зависимость в файл pom.xml с помощью этой инструкции:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>12.8.4</version>
    </dependency>
</dependencies>
Войдите в полноэкранный режим Выйти из полноэкранного режима

Если вы не используете maven, то вы можете найти необходимые jar-файлы из zip-файла, доступного в этом месте. Включите все jar-файлы в папку lib приложения, чтобы запустить пример кода, приведенный в этом руководстве.

Экспорт данных из базы данных в Excel

Ниже описаны шаги для экспорта данных из базы данных в Excel с помощью Spire.XLS for Java.

  • Создайте объект Workbook.
  • Получите первый рабочий лист с помощью метода Workbook.getWorksheets().get().
  • Создайте объект DataTable.
  • Подключитесь к базе данных и экспортируйте данные из базы данных в таблицу данных.
  • Запишите таблицу данных на рабочий лист с помощью метода Worksheet.insertDataTable().
  • Сохраните рабочую книгу в файл Excel с помощью метода Workbook.saveToFile().
import com.spire.data.table.DataTable;
import com.spire.data.table.common.JdbcAdapter;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import java.sql.*;

public class ExportDataFromDatabaseToExcel {

    public static void main(String[] args) {

        //Create a Workbook object
        Workbook wb = new Workbook();

        //Get the first worksheet
        Worksheet sheet = wb.getWorksheets().get(0);

        //Create a DataTable object
        DataTable dataTable = new DataTable();

        //Connect to database
        String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};"
                + "DBQ=C:\Users\Administrator\Desktop\Document\data.mdb";
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            try {
                Connection conn = DriverManager.getConnection(url);
                Statement sta = conn.createStatement();

                //Select table from the database
                ResultSet resultSet = sta.executeQuery("select * from vendors");
                JdbcAdapter jdbcAdapter = new JdbcAdapter();

                //Export data from database to datatable
                jdbcAdapter.fillDataTable(dataTable, resultSet);

            } catch (SQLException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        //Write datatable to the worksheet
        sheet.insertDataTable(dataTable, true, 1, 1);

        //Auto fit column width
        sheet.getAllocatedRange().autoFitColumns();

        //Save to an Excel file
        wb.saveToFile("output/ExportToExcel.xlsx", ExcelVersion.Version2016);
    }
}
Вход в полноэкранный режим Выход из полноэкранного режима

Вывод

Оцените статью
devanswers.ru
Добавить комментарий