简易教程:将Excel文件存入MySQL数据库 (把excel存到mysql数据库)
MySQL是一个常用于网站开发的关系型数据库管理系统,而Excel则是一个常用的表格处理软件,两者都有着广泛的应用。本文将介绍一个简易的教程,教你如何将Excel文件存入MySQL数据库中,方便数据管理和查询。
1. 准备工作
在开始之前,你需要准备好以下软件和文件:
– MySQL数据库管理系统
– Excel文件(本教程以.xlsx格式为例)
– Java环境(本教程中需要用到Java)
2. 创建数据库
在MySQL中创建一个新的数据库,用于存储Excel文件中的数据。这里我们以“excel_db”为例,可根据实际情况进行修改。
CREATE DATABASE excel_db;
3. 创建表格
创建一个新的表格,用于存储Excel中的数据。表格的结构应与Excel中的数据结构相对应。例如,如果Excel中有“姓名”、“年龄”、“性别”等列,那么表格中应该也有相应的列。
CREATE TABLE `excel_db`.`table_name` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`age` INT NOT NULL,
`gender` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`));
这里的“table_name”是你要存储数据的表格的名称,可以根据实际情况进行修改。
4. 编写代码
在这一步中,我们将使用Java编写代码,将Excel文件中的数据读取出来,并将其存入MySQL数据库中。
之一步:连接数据库
在代码中,我们首先需要连接MySQL数据库。这里我们使用的是JDBC驱动程序,需要在代码中指定MySQL的地址、用户名和密码。
String url = “jdbc:mysql://localhost:3306/excel_db”;
String username = “root”;
String password = “123456”;
Connection conn = DriverManager.getConnection(url, username, password);
第二步:读取Excel文件
我们可以使用开源的Apache POI库来读取Excel文件。在这个例子中,我们假设Excel文件中的数据为两列,分别为“姓名”和“年龄”。
FileInputStream fis = new FileInputStream(new File(“path/to/your/excel/file.xlsx”));
XSSFWorkbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);
Iterator iterator = sheet.iterator();
while (iterator.hasNext()) {
Row currentRow = iterator.next();
String name = currentRow.getCell(0).getStringCellValue();
int age = (int) currentRow.getCell(1).getNumericCellValue();
// 将数据存入数据库
// …
}
第三步:向数据库中插入数据
我们需要将数据存入MySQL数据库中。
PreparedStatement ps = conn.prepareStatement(“INSERT INTO table_name (name, age) VALUES (?, ?)”);
ps.setString(1, name);
ps.setInt(2, age);
ps.executeUpdate();
完整的代码示例如下:
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelToMySQL {
public static void mn(String[] args) throws Exception {
String url = “jdbc:mysql://localhost:3306/excel_db”;
String username = “root”;
String password = “123456”;
Connection conn = DriverManager.getConnection(url, username, password);
FileInputStream fis = new FileInputStream(new File(“path/to/your/excel/file.xlsx”));
XSSFWorkbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);
Iterator iterator = sheet.iterator();
while (iterator.hasNext()) {
Row currentRow = iterator.next();
String name = currentRow.getCell(0).getStringCellValue();
int age = (int) currentRow.getCell(1).getNumericCellValue();
PreparedStatement ps = conn.prepareStatement(“INSERT INTO table_name (name, age) VALUES (?, ?)”);
ps.setString(1, name);
ps.setInt(2, age);
ps.executeUpdate();
}
fis.close();
workbook.close();
conn.close();
}
}
5. 运行程序
将代码保存为ExcelToMySQL.java,并使用javac命令编译成字节码文件。然后使用java命令运行程序,将Excel文件中的数据存入MySQL数据库中。
javac ExcelToMySQL.java
java ExcelToMySQL
6. 结论