Skip to content

Resolve new Xlsx changes introduced by MS Office365 moving AutoFilter information into a separate file #2216

Closed
@MarkBaker

Description

This is:

- [ ] a bug report
- [X] a feature request
- [ ] **not** a usage question (ask them on https://stackoverflow.com/questions/tagged/phpspreadsheet or https://gitter.im/PHPOffice/PhpSpreadsheet)

What is the expected behavior?

AutoFilter structure information is now maintained in a separate /table<n>.xml file in the /tables subfolder of the zip.

What is the current behavior?

AutoFilter structure information is read from the autoFilters entry in the individual worksheet files.

With changes to the structure of Xlsx files for Office365, autoFilter structure information is moved from the worksheet file. Instead, the worksheet file contains a tableParts entry:

<tableParts count="1">
    <tablePart r:id="rId1"/>
</tableParts>

This may contain multiple parts, and each entry points to an entry in the rels file for that worksheet. This in turn has a pointer to the actual file

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
    <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/table" Target="../tables/table1.xml"/>
</Relationships>

where the AutoFilter structure is stored.

The actual structural definition of the AutoFilter is otherwise identical, simply moved to a new location.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions