21xrx.com
2025-03-24 05:09:37 Monday
文章检索 我的文章 写文章
《JAVA实现excel数据导入MySQL实例》
2023-06-15 20:15:55 深夜i     18     0
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的操作。

  
  

评论区