java把excel文件导入数据库报错!!

publicvoidgetDate(){Listliststu=newArrayList();//找到导入的文件InputStreamis=Date.class.getC... public void getDate() {

List liststu = new ArrayList();
// 找到导入的文件
InputStream is = Date.class.getClassLoader().getResourceAsStream(
"N3单词分类表(1).xls");

try {
// 创建工作簿
Workbook wb = Workbook.getWorkbook(is);
// 创建工作表
jxl.Sheet sheet = wb.getSheet(0);
String content = null;
for (int i = 0; i < sheet.getRows(); i++) {
Characters characters = new Characters();
for (int j = 0; j < sheet.getColumns(); j++) {
content = sheet.getCell(j, i).getContents();
System.out.print(content);

if (characters.getId() == 0) {
characters.setId(Integer.parseInt(sheet.getCell(j, i)
.getContents().trim()));
continue;
}
if (characters.getPronunciation() == null) {
characters.setPronunciation(sheet.getCell(j, i)
.getContents());
continue;
}
if (characters.getCharacters() == null) {
characters.setCharacters(sheet.getCell(j, i)
.getContents());
continue;
}

if (characters.getMeaning() == null) {
characters
.setMeaning(sheet.getCell(j, i).getContents());
continue;
}

}
insert(characters);

}

} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void insert(Characters characters) {
String sql = "insert into characters values(" + characters.getId()
+ ",'" + characters.getPronunciation() + "','"
+ characters.getCharacters() + "','" + characters.getMeaning()
+ "')";
ConnCOnnection conn = new ConnCOnnection();
Connection con = conn.getConnect();
try {
Statement state = con.createStatement();
state.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {

try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at net.company.dao.Date.getDate(Date.java:41)
at net.company.server.ExcelServer.getDate(ExcelServer.java:10)
at net.company.servlet.ExcelServlet.ExcelToMySql(ExcelServlet.java:40)
at net.company.servlet.ExcelServlet.doPost(ExcelServlet.java:33)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
展开
 我来答
chxx5858
2012-03-03
知道答主
回答量:10
采纳率:0%
帮助的人:11.8万
展开全部
字符串不能软换为数字类型.第一种exel应该有字符串,第二种你在程序中判断下当前要转换的是为空
if (characters.getId() == 0) {
characters.setId(Integer.parseInt(sheet.getCell(j, i).getContents().trim()));
sheet.getCell(j, i).getContents().得到的内容为空,所以会报这个错
dong19890208
2012-03-04
知道答主
回答量:3
采纳率:0%
帮助的人:3266
展开全部
你先检查Excel 中id 那一列是否有空值(我觉得这种可能比较大),
如果没有你可以设断点单步调试,看看sheet.getCell(j, i).getContents().trim()的值是否为“”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_甚么情况
2012-03-06
知道答主
回答量:54
采纳率:0%
帮助的人:19.9万
展开全部
不知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式