首页 网站百科文章正文

java读取数据库数据填入xlsx文档

网站百科 2025年11月21日 02:49 240 admin

Java实现数据库数据读取并填入Excel文档的高效方法

在当今信息化时代,数据的处理和转换成为了日常工作中不可或缺的一部分,对于需要频繁处理大量数据并将其以特定格式输出的用户而言,掌握如何将数据库中的数据读取出来并填充到Excel文档中是一项非常实用的技能,Java作为一种广泛使用的编程语言,提供了强大的API支持来完成这项任务,本文将详细介绍如何使用Java读取数据库中的数据并将其填入到Excel文档中,包括必要的步骤、代码示例以及一些实用的技巧。

准备工作

确保你的开发环境中已经安装了Java开发工具包(JDK)、Apache POI库(用于操作Excel文件)以及一个数据库连接驱动(如MySQL Connector/J),这些是进行以下操作的基础。

建立数据库连接

使用JDBC(Java Database Connectivity)API来建立与数据库的连接,你需要提供数据库的URL、用户名和密码等信息,以下是一个简单的示例代码片段,展示了如何连接到MySQL数据库:

import java.sql.Connection;
import java.sql.DriverManager;
public class DatabaseConnection {
    public static Connection getConnection() {
        String url = "jdbc:mysql://localhost:3306/your_database";
        String user = "username";
        String password = "password";
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            return DriverManager.getConnection(url, user, password);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

从数据库查询数据

一旦建立了连接,就可以执行SQL查询语句来获取所需的数据了,这里我们假设要从名为employees的表中选取所有员工信息:

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class DataFetcher {
    public static List<Employee> fetchData() {
        List<Employee> employees = new ArrayList<>();
        String query = "SELECT * FROM employees";
        try (Connection con = DatabaseConnection.getConnection();
             Statement stmt = con.createStatement();
             ResultSet rs = stmt.executeQuery(query)) {
            while (rs.next()) {
                Employee emp = new Employee();
                emp.setId(rs.getInt("id"));
                emp.setName(rs.getString("name"));
                emp.setAge(rs.getInt("age"));
                emp.setDepartment(rs.getString("department"));
                employees.add(emp);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return employees;
    }
}

使用Apache POI填充Excel文件

我们将使用Apache POI库来创建一个新的Excel工作簿,并将之前获取的数据写入其中,添加Apache POI依赖到你的项目中(如果你使用的是Maven或Gradle的话):

java读取数据库数据填入xlsx文档

<!-- Maven -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.2</version>
</dependency>

编写代码生成Excel文件:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriter {
    public static void writeToExcel(List<Employee> employees) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Employees");
        Row headerRow = sheet.createRow(0);
        headerRow.createCell(0).setCellValue("ID");
        headerRow.createCell(1).setCellValue("Name");
        headerRow.createCell(2).setCellValue("Age");
        headerRow.createCell(3).setCellValue("Department");
        int rowNum = 1;
        for (Employee emp : employees) {
            Row row = sheet.createRow(rowNum++);
            row.createCell(0).setCellValue(emp.getId());
            row.createCell(1).setCellValue(emp.getName());
            row.createCell(2).setCellValue(emp.getAge());
            row.createCell(3).setCellValue(emp.getDepartment());
        }
        try (FileOutputStream out = new FileOutputStream("employees.xlsx")) {
            workbook.write(out);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

将所有部分整合在一起,完成整个流程:

java读取数据库数据填入xlsx文档

public class Main {
    public static void main(String[] args) {
        List<Employee> employees = DataFetcher.fetchData();
        ExcelWriter.writeToExcel(employees);
    }
}

通过上述步骤,你可以成功地从数据库读取数据并生成包含这些数据的Excel文档,这个过程虽然看起来有些复杂,但只要按照正确的顺序执行,就能顺利地完成任务,还可以根据实际需求调整SQL查询语句和Excel模板的设计,以满足不同的应用场景。

标签: Java

发表评论

丫丫技术百科 备案号:新ICP备2024010732号-62