【问题标题】:How can I check if an information is present or not in Excel file using Apache POI and Java Code如何使用 Apache POI 和 Java 代码检查 Excel 文件中是否存在信息
【发布时间】:2014-10-15 13:40:34
【问题描述】:

我有一个问题:

我正在使用这个 Java 代码从我的 Excel 文件中读取一些信息:

HSSFWorkbook workbook = null;
try {
    workbook = new HSSFWorkbook(file);
}catch (IOException ex) {
   ...
}

SummaryInformation summaryInfo = workbook.getSummaryInformation();

if (summaryInfo.getTitle() != null) {
    System.out.println(summaryInfo.getTitle());
}
if (summaryInfo.getAuthor() != null) {
    System.out.println(summaryInfo.getAuthor());
}

但我收到此错误我没有“标题”信息:

java.lang.NullPointerException 

我在这一行有这个错误:

if (summaryInfo.getTitle() != null) {

现在,如果这种情况给我一个错误,我如何检查“标题”值(或其他值)是否存在?

【问题讨论】:

  • 并非所有文件都包含摘要信息 - 您是否尝试检查摘要信息本身是否存在(不为空)?
  • 我试过写这个命令:System.out.println(summaryInfo.isSummaryInformation());我在这条线上得到一个“NullPointerException”。这个结果意味着什么?这个结果对我来说很奇怪,因为如果我在我的第一台 PC 上运行这段代码,它就可以工作,但是如果我在我的第二台 PC 上使用相同的文件运行相同的代码,它就不起作用。为什么?
  • 使用前需要检查summaryInfo是否为空

标签: java file if-statement apache-poi import-from-excel


【解决方案1】:

您需要确保summaryInfo 不为空。

SummaryInformation summaryInfo = workbook.getSummaryInformation();
if (summaryInfo != null) {
    if (summaryInfo.getTitle() != null) {
        System.out.println(summaryInfo.getTitle());
    }
    if (summaryInfo.getAuthor() != null) {
        System.out.println(summaryInfo.getAuthor());
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 2010-10-09
    • 2014-07-30
    • 1970-01-01
    • 2015-08-30
    相关资源
    最近更新 更多