Java 如何使用ApachePOI通过名称获取excel工作表

Java 如何使用ApachePOI通过名称获取excel工作表,java,excel,apache-poi,poi-hssf,Java,Excel,Apache Poi,Poi Hssf,我有一个.xls文件,它是通过一些过程自动生成的。工作簿中只有一张工作表(带名称)。当我使用下面的代码时,它并没有抓住工作表 HSSFSheet sheet = workbook.getSheetAt(0); 但是,当我将该工作表的内容复制到工作表1中的一个新的.xls文件中,并重新运行代码时,工作正常。我的假设是,它必须抓住索引为0的任何工作表,那么为什么它在前一种情况下不工作,在后一种情况下工作良好?有什么想法吗?工作簿.getNumberOfSheets()返回什么?它甚至没有阅读那张表

我有一个.xls文件,它是通过一些过程自动生成的。工作簿中只有一张工作表(带名称)。当我使用下面的代码时,它并没有抓住工作表

HSSFSheet sheet = workbook.getSheetAt(0);

但是,当我将该工作表的内容复制到工作表1中的一个新的.xls文件中,并重新运行代码时,工作正常。我的假设是,它必须抓住索引为0的任何工作表,那么为什么它在前一种情况下不工作,在后一种情况下工作良好?有什么想法吗?

工作簿.getNumberOfSheets()返回什么?它甚至没有阅读那张表,它抛出了一个异常,不知道为什么。它是一个有效的.xls工作表,并为该工作表指定了名称。然而,当我试图在工作簿中创建一个新的工作表时,它的开头是工作表1(我在这里很惊讶),而它的.xls工作表是由java程序生成的,而不是用户手动创建的。这是不同的!