如何使用apache poi为xlsx类型的excel文件读取单元格内容?

时间:2014-12-14 08:18:13

标签: java excel apache apache-poi

看起来我有点腌菜,我用hssf阅读有关读取xls文件的各种主题,但我似乎无法找到好的xssf教程而且它真的很难,因为它们很难有不同的陈述。我的代码应该读取第2行第2列,但我得到了一个" getContents()未定义为类型XSSFComment"错误

我的代码类似于:

import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 

import org.apache.poi.xssf.usermodel.XSSFCell; 
import org.apache.poi.xssf.usermodel.XSSFRow; 
import org.apache.poi.xssf.usermodel.XSSFSheet; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

public class parsing{ 

public static void main(String[] args) throws IOException { 
InputStream ExcelFileToRead = new FileInputStream("C:/test.xlsx"); 
XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead); 
XSSFSheet sh = wb.getSheetAt(0); 
System.out.println(sh.getCellComment(1,1).getContents()); 
} 
}

错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method getContents() is undefined for the type XSSFComment
    at parsing.main(parsing.java:18)

2 个答案:

答案 0 :(得分:2)

根据最新的Apache POI文档,课程XSSFComment根本没有getContents()方法。

而是尝试使用getString()方法来获取评论内容。查看Apache POI XSSFComment

的文档

同时检查Apache PoI Quick Guide提供的单元格注释示例。

答案 1 :(得分:0)

使用getString()

而不是使用getContents()方法