我有列的 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