如何使用 Apache POI 和 Java 代码检查 Excel 文件中是不是存在信息
Posted
技术标签:
【中文标题】如何使用 Apache POI 和 Java 代码检查 Excel 文件中是不是存在信息【英文标题】: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
是否为空
【参考方案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());
【讨论】:
以上是关于如何使用 Apache POI 和 Java 代码检查 Excel 文件中是不是存在信息的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Java和apache poi选择excel中的所有单元格
求解!JAVA 使用Apache POI将PPTX转图片出错。见下图
java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的