java - 从excel导入到mysql

sta*_*ack 1 java import excel

我有列的 excel 文件 (.xlsx)

Column1     Column2      Column3      Column1
   A           50          30           40
   B           45          40           20
   .......................................
Run Code Online (Sandbox Code Playgroud)

我需要在 MySQL 数据库中导入这个 excel。我使用以下代码:

 public static void main(String[] args) throws IOException {

    FileInputStream fis = new FileInputStream(new File("Data.xlsx"));
    XSSFWorkbook workbook = new XSSFWorkbook (fis);
    XSSFSheet sheet = workbook.getSheetAt(0);
    Iterator ite = sheet.rowIterator();
    while(ite.hasNext()){
        Row row = (Row) ite.next();
        Iterator<Cell> cite = row.cellIterator();
        while(cite.hasNext()){
            Cell c = cite.next();
            System.out.print(c.toString() +";");
        }
        System.out.println();
    }
    fis.close();
}
Run Code Online (Sandbox Code Playgroud)

我需要列出所有行。此代码在控制台中显示行中的所有数据,但我现在不将该数据添加到列表中并将列表导入到 MySQL。

任何的想法?

小智 5

为了将这些数据写入 MySQL 数据库,我可以想到几种方法,但是,我将为您提供最基本的方法来实现您的愿望。您正在使用 Apache POI 库将所有​​数据记录到控制台。

while (rows.hasNext()) {
    String[] rowsVal = new String[Number_of_Columns];
    if (row.getCell(0).getStringCellValue().equalsIgnoreCase("Column_Name")) {
                    row = rows.next();
     }
    while (cells.hasNext()) {
        keyVal[j] = cells.next().getStringCellValue();
        j++;
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码将第一行的内容存储在 keyVal[] 数组中。现在,您需要包含包含数据库编程所需的 JDBC 类的包。以下代码片段将有助于将记录插入表中:

String sql = "INSERT INTO Table " + "VALUES ("keyVal[0] + "," + keyVal[1] + "," + keyVal[2] + "," + keyVal[3])";
Run Code Online (Sandbox Code Playgroud)

上面的代码片段将帮助您将数据插入到数据库中。

参考链接:https : //www.tutorialspoint.com/jdbc/jdbc-insert-records.htm