引用jar包,根据版本不同需要加入的包也不同,如果缺少包的话程序运行时通常会报"NoClassDefFoundError"错误,如果这样就加入相应的包就可以了。
关于需要哪些jar包,可以用类名到findjar(http://www.findjar.com/index.x)去找
当前最新版本为3.15(2017)
poi-3.15\lib\commons-collections4-4.1.jar
poi-3.15\lib\commons-logging-1.2.jar
poi-3.15\lib\log4j-1.2.17.jar
poi-3.15\poi-3.15.jar
poi-3.15\poi-ooxml-3.15.jar
poi-3.15\poi-ooxml-schemas-3.15.jar
poi-3.15\ooxml-lib\xmlbeans-2.6.0.jar
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.WorkbookFactory;
try {
// OPCPackage可以获取读写权限
OPCPackage pkg = OPCPackage.open(new File("E:\\1.xlsx"));
// 工作薄对象
XSSFWorkbook workbook = new XSSFWorkbook(pkg);
// 工作表对象
XSSFSheet xssfSheet = workbook.getSheetAt(0);
// 创建行对象
XSSFRow xRow = xssfSheet.getRow(0);
// 创建单元格对象
XSSFCell xCell = xRow.getCell(0);
// 输出单元格的值
System.out.println(getCellValue(xCell));
pkg.close();
} catch (InvalidFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
。。。
@SuppressWarnings("static-access")
private static String getValue(XSSFCell xssfCell) {
if(xssfCell == null)
return "[null]";
switch (xssfCell.getCellType()) {
case CellType.BLANK:
return "[空]";
case CellType.BOOLEAN:
return String.valueOf(xssfCell.getBooleanCellValue());
case CellType.NUMERIC:
return String.valueOf(xssfCell.getNumericCellValue());
default:
return String.valueOf(xssfCell.getStringCellValue());
}
}