如果有Excel中值为空的话,导入到数据库中报错。怎么改?
数据库中的该列是允许为空的。
JXL导入EXCEL文件到数据库
1.导入到数据库中
第一步:把文件上传到服务器。private File upload;
第二步:解析文件。(只支持EXCEL2003文件)
第三部:保存到数据库中
[java] view plaincopy
// 开始解析
List importUserList = new ArrayList();
try {
WorkbookSettings setting = new WorkbookSettings();
java.util.Locale locale = new java.util.Locale("zh ", "CN ");
setting.setLocale(locale);
Workbook book = Workbook.getWorkbook(this.upload);
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
// 得到第一列第一行的单元格
int rowNum = sheet.getRows();
log.info("SHEET的ROWS LENGTH---" + rowNum);
// 循环读入每一行的每一列
int rowStart = 2; // 定义开始的一行 一般是从第二行开始的!
for (int i = rowStart; i < rowNum; i++) {
User importUser = new User();
importUser.setMeetingMember(new MeetingMember());
// 一行记录 计入到userImport
Cell[] cells = sheet.getRow(i);
int cellsLength = cells.length;
importUser.setName(StringUtil.replaceBlank(cells[0]
.getContents()));// 姓名
importUser.setMobile(StringUtil.replaceBlank(cells[1]
.getContents()));// 用户手机号
// 职位(通讯录)2
if (cellsLength > 2 && cells[2] != null
&& !"".equals(cells[2].getContents())) {
importUser.getMeetingMember().setBookJob(
StringUtil.replaceBlank(cells[2].getContents()));
}
//3
// 单位
if (cellsLength > 3) {
importUser.getMeetingMember().setDepartment(
cells[3].getContents());
}
importUserList.add(importUser);
}
book.close();