读Excel表格的空单元格

时间:2010-11-17 17:25:10

标签: java sql excel datatable

我正在使用以下代码阅读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。

如何达到同样的目标?请指教......

1 个答案:

答案 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

}