我正在使用以下代码阅读Excel工作表的内容。
for (Row row : sheet) {
Cell firstCell = row.getCell(0);
Cell secondCell = row.getCell(1);
Cell thirdCell = row.getCell(2);
Cell fourthCell = row.getCell(3);
Cell fifthCell = row.getCell(4);
urlcnt=firstCell.getRichStringCellValue().getString();
srccnt=secondCell.getRichStringCellValue().getString();
contentType=thirdCell.getRichStringCellValue().getString();
verticle=fourthCell.getRichStringCellValue().getString();
timeFrame=fifthCell.getRichStringCellValue().getString();
}
我正在将特定行的每个单元格分配给上面的字符串。
PreparedStatement insertUrlStatement = con.prepareStatement("INSERT INTO urls_temp(url, source_name, is_active, is_periodic, Link_Type, New_Entry, verticle, periodic_timeframe, datentime) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)");
insertUrlStatement.setString(1, urlcnt);
insertUrlStatement.setString(2, srccnt);
insertUrlStatement.setInt(3, 1);
insertUrlStatement.setInt(4, 0);
insertUrlStatement.setString(5, contentType);
insertUrlStatement.setInt(6, 1);
insertUrlStatement.setString(7, verticle);
insertUrlStatement.setString(8, timeFrame);
insertUrlStatement.setString(9, datentime);
insertUrlStatement.executeUpdate();
有时在Excel工作表中,用户可能会将单元格连续留空。 在这种情况下,该程序不会插入整行。
我希望将空单元格保存为表urls_temp中的null。
如何达到同样的目标?请指教......
答案 0 :(得分:0)
这可能是一个想法。如果提供的变量为空,则使用在语句中填充null的函数。您可能需要尝试(text = null)部分,但这可以完成工作。抱歉,我的编码风格很差。对于任何数据类型,您都需要这样的函数。
function bindString(int column, String text) {
If (text == null) then
insertUrlStatement.setNull(column, STRING);
Else
insertUrlStatement.setString(column, text);
EndIf
}