21xrx.com
2024-11-05 12:24:37 Tuesday
登录
文章检索 我的文章 写文章
《JAVA实现excel数据导入MySQL实例》
2023-06-15 20:15:55 深夜i     --     --
JAVA excel MySQL 导入

在众多数据库中,MySQL是使用人数比较多的一种,而excel是非常常见的数据表格,将excel中的数据导入MySQL也是一种非常常见的操作。那么,在JAVA中,如何实现excel数据导入MySQL呢?

首先,在JAVA中需要用到POI插件,它是Apache基金会的开源组织所提供的一个开源的Java面向对象的文本处理库,它可以通过Java程序读写Microsoft Office格式档案,因此Excel文件可以通过POI插件进行读写和处理。

其次,需要用到JDBC,它是Java Database Connectivity的简称。是JAVA的一个标准接口,它定义了用来访问各种关系数据库的方法和接口。在JAVA中,通过使用JDBC连接数据库,就可以实现对数据库的操作。

以下是一段JAVA代码实现将excel文件中的数据导入MySQL的操作:


public class ExcelToMysql {

  public static void main(String[] args) {

    String fileName = "abc.xlsx";

    String tableName = "students";

    try {

      InputStream input = new FileInputStream(fileName);

      Workbook workbook = WorkbookFactory.create(input);

      Sheet sheet = workbook.getSheetAt(0);

      Iterator iterator = sheet.rowIterator();

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

      StringBuilder columns = new StringBuilder();

      StringBuilder values = new StringBuilder();

      while (iterator.hasNext()) {

        Row row = iterator.next();

        Iterator cellIterator = row.cellIterator();

        columns.setLength(0);

        values.setLength(0);

        while (cellIterator.hasNext()) {

          Cell cell = cellIterator.next();

          if (columns.length() > 0) {

            columns.append(",");

          }

          if (values.length() > 0) {

            values.append(",");

          }

          if (row.getRowNum() == 0) {

            columns.append(cell.getStringCellValue());

          } else {

            values.append("'").append(cell.getStringCellValue()).append("'");

          }

        }

        if (row.getRowNum() > 0) {

          String insertSql = String.format("insert into %s(%s) values(%s)", tableName, columns.toString(), values.toString());

          Statement statement = conn.createStatement();

          statement.executeUpdate(insertSql);

        }

      }

      conn.close();

    } catch (Exception e) {

      e.printStackTrace();

    }

  }

}

通过上述代码段实现了将excel文件中的数据导入MySQL的操作。

  
  

评论区

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