如果有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();