今日学习笔记

导入Excel文件到数据库
这节课的目的是把D盘中的一个xslx文件导入到项目中
在这里插入图片描述

创建一个新的输入流
内容是:
public static void main(String[] args) throws Exception {
用户名userName 手机号phone 省份privince 城市city 工资salary 入职日期hiredate 出生日期birthday 现住地址address
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd”);
Workbook workbook = new XSSFWorkbook(new FileInputStream(“D://用户导入测试数据.xlsx”));
获取到第一个工作表
Sheet sheet = workbook.getSheetAt(0);
int lastRowIndex = sheet.getLastRowNum();//
当前sheet的最后一行的索引值,读取工作表中的内容

使用一个for循环
for (int i = 1; i <= lastRowIndex; i++) {
row = sheet.getRow(i);
让项目从预导入文件的第二行(非标题行)开始读取

然后把结果打印出来 System.out.println(userName+":"+phone+":"+province+":"+city+":"+salary+":"+hireDate+":"+birthDay+":"+address);

报错了😢
在这里插入图片描述
报错的内容是说,单元格的内容是数值型,不能用getStringValue的方式从数值型单元格中获取字符串,所以要根据单元格的不同内容一一确定不同内容的获取方式,比如工资是数值,那么就是getNumericCellValue,电话号码是字符串,就用getNumericCellValue;另外日期还需要用simpleDateFormat地方转成yyyy-MM-dd
String userName = row.getCell(0).getStringCellValue(); //用户名
String phone = null; //手机号
try {
phone = row.getCell(1).getStringCellValue();
} catch (Exception e) {
phone = row.getCell(1).getNumericCellValue()+"";
}
String province = row.getCell(2).getStringCellValue(); //省份
String city = row.getCell(3).getStringCellValue(); //城市
Integer salary =( (Double)row.getCell(4).getNumericCellValue()).intValue(); //工资
Date hireDate = simpleDateFormat.parse(row.getCell(5).getStringCellValue()) ; //入职日期
Date birthDay = simpleDateFormat.parse(row.getCell(6).getStringCellValue()) ; //出生日期
String address = row.getCell(7).getStringCellValue(); //现住地址
执行插入user的方法
user.setUserName(userName);
user.setPhone(phone);
user.setProvince(province);
user.setCity(city);
user.setSalary(salary);
user.setHireDate(hireDate);
user.setBirthday(birthDay);
user.setAddress(address);
在这个过程中可以直接使用try/catch抛出异常的方式,把excel表格中可能发生的“字符串与数值互相混淆”的问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值