为了显示@Gagravarr的评论可能意味着什么:
该XSSFReader包含方法XSSFReader.getSheetsData其中“返回一个迭代器,这将让你在把所有的不同的表,每个表的InputStream中只有打开时开始迭代器牵强。这是给你的时候,每个做关闭InputStreams之一。”。但是通常这不是全部。实际上,它返回一个XSSFReader.SheetIterator,它具有一个XSSFReader.SheetIterator.getSheetName方法来获取工作表名称。
例:
import java.io.InputStream;import java.io.FileInputStream;import org.apache.poi.openxml4j.opc.OPCPackage;import org.apache.poi.xssf.eventusermodel.XSSFReader;import java.util.Iterator;public class ExcelXSSFGetSheetNamesXSSFReader { public static void main(String[] args) throws Exception { OPCPackage pkg = OPCPackage.open(new FileInputStream("Example.xlsx")); XSSFReader r = new XSSFReader( pkg ); Iterator<InputStream> sheets = r.getSheetsData(); if (sheets instanceof XSSFReader.SheetIterator) { XSSFReader.SheetIterator sheetiterator = (XSSFReader.SheetIterator)sheets; while (sheetiterator.hasNext()) { InputStream dummy = sheetiterator.next(); System.out.println(sheetiterator.getSheetName()); dummy.close(); } } pkg.close(); }}结论:当前,您不能
apachepoi仅通过信任API文档来进行处理。相反,您必须始终查看源代码。



