Java导出数据库表结构和数据到Excel文件
使用Java获取表名,表注释,列名,列注释和列的数据类型并使用POI导出内容到Excel
本文将介绍如何使用Java代码连接MySQL数据库,获取表名、表注释、列名、列注释和列数据类型,并使用Apache POI库将数据导出到Excel文件中。
代码实现
import java.sql.*;
import java.io.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
public class ExportDatabaseToExcel {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/testdb";
String user = "root";
String password = "password";
String excelFilePath = "d:/test.xlsx";
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery('SELECT * FROM employee')) {
// create excel workbook and sheet
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet('Employee');
// create header row
int rowNum = 0;
Row headerRow = sheet.createRow(rowNum++);
headerRow.createCell(0).setCellValue('Table Name');
headerRow.createCell(1).setCellValue('Table Comment');
headerRow.createCell(2).setCellValue('Column Name');
headerRow.createCell(3).setCellValue('Column Comment');
headerRow.createCell(4).setCellValue('Data Type');
// add data rows
while (rs.next()) {
String tableName = rs.getString('TABLE_NAME');
String tableComment = rs.getString('TABLE_COMMENT');
String columnName = rs.getString('COLUMN_NAME');
String columnComment = rs.getString('COLUMN_COMMENT');
String dataType = rs.getString('DATA_TYPE');
Row row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(tableName);
row.createCell(1).setCellValue(tableComment);
row.createCell(2).setCellValue(columnName);
row.createCell(3).setCellValue(columnComment);
row.createCell(4).setCellValue(dataType);
}
// auto-size columns
for (int i = 0; i < 5; i++) {
sheet.autoSizeColumn(i);
}
// write to excel file
FileOutputStream outputStream = new FileOutputStream(excelFilePath);
workbook.write(outputStream);
workbook.close();
System.out.println('Exported data to Excel successfully.');
} catch (SQLException | IOException ex) {
ex.printStackTrace();
}
}
}
依赖项
在运行代码之前,需要在项目的pom.xml文件中添加以下依赖项:
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
添加表和列注释
在导出数据之前,需要在MySQL数据库中为表和列添加注释。可以使用以下命令为表添加注释:
ALTER TABLE table_name COMMENT 'table_comment';
可以使用以下命令为列添加注释:
ALTER TABLE table_name MODIFY COLUMN column_name data_type COMMENT 'column_comment';
运行代码
将代码保存为ExportDatabaseToExcel.java文件,并编译运行。代码会连接到名为testdb的MySQL数据库,查询employee表中的数据,并将结果导出到名为test.xlsx的Excel文件中。
代码说明
代码首先连接到数据库,并执行查询语句获取employee表的数据。然后,代码创建Excel工作簿和工作表,并添加表头行。接着,代码遍历查询结果,并将数据写入工作表中的每一行。最后,代码自动调整列宽并保存Excel文件。
总结
本文介绍了使用Java代码连接MySQL数据库,获取表结构和数据,并使用Apache POI库将数据导出到Excel文件的方法。该方法可以帮助开发者快速便捷地将数据库中的数据导出到Excel文件中,便于进行分析和展示。
原文地址: https://www.cveoy.top/t/topic/nXRU 著作权归作者所有。请勿转载和采集!