两种方法将excel中的数据导入mysql数据库
程序员文章站
2022-05-17 19:08:24
...
使用Apache POI读取excel
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
结构:
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。 — 百度百科
- 准备excel:
- 代码
/**
* 读取poi数据的测试方法
* @throws IOException
*/
@Test
public void test() throws IOException {
//获取文件
File file = new File("E:\\demo\\students.xlsx");
//获得excel文件的输入流
FileInputStream stream = new FileInputStream(file);
//获取所有sheet页
Workbook sheets = new XSSFWorkbook(stream);
//获取第一个sheet页
Sheet sheet = sheets.getSheetAt(0);
//该sheet页总行数
int totalNum = sheet.getLastRowNum();
//i等于1 ,从第二行开始
for (int i = 1; i<=totalNum; i++) {
// 获取行
Row row = sheet.getRow(i);
// 获取单元格 取值 用String类型接收
row.getCell(0).setCellType(CellType.STRING);
row.getCell(1).setCellType(CellType.STRING);
row.getCell(2).setCellType(CellType.STRING);
row.getCell(3).setCellType(CellType.STRING);
//如果不先设置获取的类型为STRING 直接用getStringCellValue,
// 遇到全是数字的情况时 会抛出异常Cannot get a STRING value from a NUMERIC cell
String username = row.getCell(0).getStringCellValue();
String password = row.getCell(1).getStringCellValue();
String mail = row.getCell(2).getStringCellValue();
String addr = row.getCell(3).getStringCellValue();
System.out.println("username:"+username+"password:"+password+"mail:"+mail+"addr"+addr);
//springboot集成mybatis将数据写入数据库
Student student = new Student(username,password,mail,addr);
studentMapper.insert(student);
}
sheets.close();
stream.close();
}
运行后,控制台:注意:
2003版本(包含2003)以前的扩展名为.xls需要用HSSFWorkbook类操作
2007版本(包含2007)以后的扩展名为.xlsx需要用XSSFWorkbook类操作
使用数据库连接工具Navicat
工具用的好,下班走的早。Navicat将excel导入数据库,又好用又快。????
- 右键–>导入向导
- 选择excel(支持两种格式)、
- 选择文件,点击下一步。
- 继续下一步
- 选择目标表,表名可以更改。
- 查看数据是否正确
- 将记录添加到目标表,点击下一步
- 完成
- 导入成功
上一篇: Java之多线程安全性问题
下一篇: 4种备份MySQL数据库
推荐阅读
-
MySQL数据库中删除重复记录的方法总结[推荐]
-
Mysql数据库中把varchar类型转化为int类型的方法
-
mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法
-
LNMP下使用命令行导出导入MySQL数据库的方法
-
thinkPHP实现将excel导入到数据库中的方法
-
MySQL数据库中删除重复记录的方法总结[推荐]
-
Java中excel表数据的批量导入方法
-
mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法
-
asp.net实现将Excel中多个sheet数据导入到SQLSERVER中的方法
-
LNMP下使用命令行导出导入MySQL数据库的方法