Skip to content

遇到了java.lang.ArrayIndexOutOfBoundsException: 10问题 #470

Description

@89333367

使用的版本是

<!-- https://central.sonatype.com/artifact/org.ttzero/eec/versions -->
        <dependency>
            <groupId>org.ttzero</groupId>
            <artifactId>eec</artifactId>
            <version>0.5.27</version>
        </dependency>
@Test
    void 读取第一个Sheet为map() {
        try (ExcelReader reader = ExcelReader.read(Paths.get("D:\\tmp\\发货明细\\20260318\\20260316-17发货明细.xlsx"))) {
            reader
                    .sheet(0)
                    .asFullSheet()
                    .copyOnMerged() // <- 转为FullSheet并复制合并单元格
                    .header(1)
                    .rows()
                    .map(Row::toMap)
                    .forEach(System.out::println);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

后台异常了


java.lang.ArrayIndexOutOfBoundsException: 10

	at org.ttzero.excel.reader.XMLFullSheet.parseCalcChain(XMLSheet.java:1145)
	at org.ttzero.excel.reader.XMLFullSheet.load0(XMLSheet.java:993)
	at org.ttzero.excel.reader.XMLFullSheet.<init>(XMLSheet.java:967)
	at org.ttzero.excel.reader.XMLSheet.asFullSheet(XMLSheet.java:890)
	at sunyu.util.test.TestEec.读取第一个Sheet为map(TestEec.java:142)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)


进程已结束,退出代码为 -1

怎样解决呢?

我看了excel内容,发现有几个隐藏列

Image

我把隐藏列打开后看

Image

发现这里有个空的列头,这个列正好是第10列

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions