21xrx.com
2024-11-22 09:27:16 Friday
登录
文章检索 我的文章 写文章
Java实现文件导入导出,让文件处理更高效
2023-06-12 00:53:46 深夜i     --     --
Java 文件导入 文件导出

在Java编程中,经常会遇到文件导入导出的需求,如将数据库查询结果导出为Excel文件,或将Excel文件中的数据导入到数据库中。在本文中,我们将介绍如何使用Java实现文件导入导出,并附上代码案例。

文件导入

假设我们需要将Excel文件中的数据导入到数据库中。首先,我们需要获取Excel文件的数据。可以使用Apache POI库来读取Excel文件。


FileInputStream file = new FileInputStream(new File("example.xlsx"));

Workbook workbook = new XSSFWorkbook(file);

Sheet sheet = workbook.getSheetAt(0);

Iterator rowIterator = sheet.iterator();

while (rowIterator.hasNext()) {

  Row row = rowIterator.next();

  Iterator cellIterator = row.cellIterator();

  while (cellIterator.hasNext()) {

    Cell cell = cellIterator.next();

    String value = cell.getStringCellValue();

    // 处理单元格数据

  }

}

上述代码中,我们首先读取Excel文件的流并创建工作簿,然后获取第一个工作表。接着,我们使用迭代器遍历每一行和每个单元格,并获取单元格的数据。不同类型的单元格需要使用不同的方法获取数据,如getStringCellValue()方法用于获取字符串类型的数据。

接下来就是将数据导入到数据库中。可以使用JDBC连接数据库并执行SQL语句来实现。


Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/example", "root", "password");

PreparedStatement pstmt = conn.prepareStatement("INSERT INTO example (col1, col2, col3) VALUES (?, ?, ?)");

pstmt.setString(1, value1);

pstmt.setString(2, value2);

pstmt.setString(3, value3);

pstmt.executeUpdate();

上述代码首先加载数据库驱动,然后创建连接。接着,我们使用预编译的SQL语句来执行插入操作,并将单元格数据作为参数传递给SQL语句。

文件导出

现在假设我们需要将数据库中的数据导出为Excel文件。我们可以使用Apache POI库来创建Excel文件,并使用JDBC获取数据。代码如下:


Workbook workbook = new XSSFWorkbook();

Sheet sheet = workbook.createSheet("Example");

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/example", "root", "password");

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SELECT col1, col2, col3 FROM example");

int rowCount = 0;

while (rs.next()) {

  Row row = sheet.createRow(rowCount++);

  row.createCell(0).setCellValue(rs.getString(1));

  row.createCell(1).setCellValue(rs.getString(2));

  row.createCell(2).setCellValue(rs.getString(3));

}

FileOutputStream file = new FileOutputStream(new File("example.xlsx"));

workbook.write(file);

file.close();

上述代码首先创建一个工作簿,并创建一个工作表,然后连接数据库并获取数据。接着,我们使用while循环遍历每个结果集,并创建行和单元格来保存数据。最后,我们将工作簿写到输出流中,即可生成Excel文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复