21xrx.com
2024-09-19 09:41:10 Thursday
登录
文章检索 我的文章 写文章
JAVA Excel导入数据库:将数据存储到MySQL中的步骤
2023-06-11 07:08:48 深夜i     --     --
JAVA Excel MySQL

JAVA Excel导入数据库:将数据存储到MySQL中的步骤

Java编程语言一直受到开发人员的喜爱。它是一个跨平台编程语言,可以运行在各种操作系统上,适用于各种应用程序。其中,Java通过Apache POI库提供了一种将Excel数据导入数据库的方法。在本文中,我们将学习如何使用Java将Excel文件中的数据存储到MySQL数据库中。

第一步:配置JDBC库

在Java中使用JDBC库可以连接MySQL数据库。在此之前,您需要下载并安装JDBC驱动程序,以便Java程序可以与MySQL数据库进行连接。这个过程或许需要一些研究,具体的步骤网上有很多详细的介绍。

第二步:读取Excel文件

使用Apache POI库,您可以在Java中轻松读取Excel文件。只需通过以下步骤导入所需的包,就可以准备读取代码:


import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.CellType;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

接下来,设置文件路径和工作表名称,以便读入数据。将数据存储在二维数组中。最后,关闭Excel文件。这里是一个完整的代码示例:


String fileName = "test.xlsx";

FileInputStream file = new FileInputStream(new File(fileName));

//Create Workbook instance holding reference to .xlsx file

XSSFWorkbook workbook = new XSSFWorkbook(file);

//Get first/desired sheet from the workbook

XSSFSheet sheet = workbook.getSheetAt(0);

//Iterate through each rows one by one

Iterator rowIterator = sheet.iterator();

while (rowIterator.hasNext())

{

  Row row = rowIterator.next();

  //For each row, iterate through all the columns

  Iterator cellIterator = row.cellIterator();

    

  while (cellIterator.hasNext())

  {

    Cell cell = cellIterator.next();

    //Check the cell type and format accordingly

    switch (cell.getCellTypeEnum())

    {

      case NUMERIC:

        System.out.print(cell.getNumericCellValue() + " ");

        break;

      case STRING:

        System.out.print(cell.getStringCellValue() + " ");

        break;

    }

  }

  

  System.out.println("");

}

file.close();

第三步:连接MySQL数据库

使用JDBC库连接MySQL数据库。在这里,我们将使用以下代码段连接到MySQL数据库:


try

{

   String jdbcDriver = "com.mysql.jdbc.Driver";

   String url = "jdbc:mysql://localhost:3306/database名字";

   String user = "username";

   String password = "password";

   Class.forName(jdbcDriver);

   Connection con = DriverManager.getConnection(url, user, password);

  

} catch(SQLException e) {

  e.printStackTrace();

}

这里需要注意,需要在url中指定MySQL数据库名和登录信息。

第四步:输入数据

在现有连接(con)的情况下,我们可以使用预处理语句将数据插入到MySQL表中。以下代码采用了这种方法:


String query = "INSERT INTO `students`(`name`, `age`, `city`) VALUES (?, ?, ?)";

PreparedStatement preparedStatement = con.prepareStatement(query);

for(int i=0;i

  preparedStatement.setString(1, data[i][0]);

  preparedStatement.setInt(2, Integer.parseInt(data[i][1]));

  preparedStatement.setString(3, data[i][0]));

  preparedStatement.addBatch();

}

preparedStatement.executeBatch();

这里的query值是指向数据库中表的插入查询。这条查询将绑定到预处理语句上,然后添加到批次处理数组中以进行执行。

最后,记得关闭连接


con.close();

workbook.close();

结论

使用Java将Excel数据导入MySQL数据库是一种实现自动化数据输入的方法。在本文中,我们已经介绍了必要的步骤。要成功执行此过程,请确保您已经正确安装JDBC库和Apache POI库,这样,上面的代码段将无处不在地工作。

  
  

评论区

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