PHPackages                             calien/xlsexport - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. calien/xlsexport

ActiveTypo3-cms-extension[File &amp; Storage](/categories/file-storage)

calien/xlsexport
================

Calien - XLS-Exporter

5.0.0(3w ago)04.4k↓34.4%2MITPHPPHP ^8.2 || ^8.3 || ^8.4 || ^8.5

Since Jan 8Pushed 3w ago2 watchersCompare

[ Source](https://github.com/calien666/typo3-xlsexport)[ Packagist](https://packagist.org/packages/calien/xlsexport)[ RSS](/packages/calien-xlsexport/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (10)Dependencies (48)Versions (32)Used By (0)

XLS Exporter for TYPO3
======================

[](#xls-exporter-for-typo3)

Export complex data to Excel sheets
-----------------------------------

[](#export-complex-data-to-excel-sheets)

### What does it do?

[](#what-does-it-do)

This extension helps to export complex data from TYPO3 into spreadsheets.

### How does it work?

[](#how-does-it-work)

This extension provides a new backend module for exporting complex data into spreadsheets.

In the default setup the table tt\_address can be exported out of the box.

### Configuration

[](#configuration)

The module can be configured by TSconfig. The following snippet has to be added to your PageTS configuration.

This is the Default Setting:

```
module.tx_xlsexport {
    settings {
        exports {
            # name in settings, could be everything
            tt_address {
                # label shown in bakcned module
                label = Addresses
                # counter for selected records to export. String with SQL query
                check = SELECT count(*) FROM tt_address where pid=%d and hidden=0 and deleted=0
                # export query
                export (
                    select uid,first_name,middle_name,last_name,address,building,room,city,zip,region,country,phone,fax,email,www,title,company  from tt_address where pid=%d and deleted=0 and hidden=0
                )
                # list query, currently unused
                list (
                    select uid,first_name,last_name from tt_address where pid=%d and deleted=0 and hidden=0
                )
                # SQL table name
                table = tt_address
                # field names from SQL query for export
                exportfields {
                    10 = uid
                    20 = first_name
                    30 = middle_name
                    40 = last_name
                    50 = address
                    60 = building
                    70 = room
                    80 = city
                    90 = zip
                    100 = region
                    110 = country
                    120 = phone
                    130 = fax
                    140 = email
                    150 = www
                    160 = title
                    170 = company
                }
                # labels for export field columns, numbers must match with fields in exportfields
                exportfieldnames {
                    10 = lfd. Nummer
                    20 = Vorname
                    30 = Mittelname
                    40 = Nachname
                    50 = Adresse
                    60 = Gebäude
                    70 = Raum
                    80 = Stadt
                    90 = PLZ
                    100 = Region
                    110 = Land
                    120 = Telefon
                    130 = Fax
                    140 = E-Mail
                    150 = Web
                    160 = Titel
                    170 = Firma
                }
            }
        }
    }
}

```

which you can either override, or extend in this fashion:

```
module.tx_xlsexport {
    settings {
        export {
            myExport {
                # [...]
            }
        }
    }
}

```

Relations can be done by joins inside the select statements

TODO:

- add Events/Signalslots for datamanipulation
- add support for multiple sheets
- documentation
- localization

FUTURE: (hit me up if you are willing to help funding)

- support TCA for complex data structures
- update backend module to fit TYPO3 styles

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance94

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 79.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~81 days

Recently: every ~175 days

Total

26

Last Release

27d ago

Major Versions

1.0.3 → 3.0.02021-10-13

2.1.1 → 3.0.12021-10-13

2.1.2 → 3.1.02023-02-10

3.1.8 → 4.0.02026-03-24

4.x-dev → 5.0.02026-07-21

PHP version history (3 changes)1.0.0PHP &gt;=7.4

2.1.0PHP &gt;=7.3

5.0.0PHP ^8.2 || ^8.3 || ^8.4 || ^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/1a1ddeb615ab1289506094f767ffacee7e1deaa6c914527b116cf88fcbe62e68?d=identicon)[calien666](/maintainers/calien666)

---

Top Contributors

[![calien666](https://avatars.githubusercontent.com/u/11405116?v=4)](https://github.com/calien666 "calien666 (34 commits)")[![torben-fr](https://avatars.githubusercontent.com/u/92865600?v=4)](https://github.com/torben-fr "torben-fr (8 commits)")[![ldinhbui](https://avatars.githubusercontent.com/u/44475556?v=4)](https://github.com/ldinhbui "ldinhbui (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/calien-xlsexport/health.svg)

```
[![Health](https://phpackages.com/badges/calien-xlsexport/health.svg)](https://phpackages.com/packages/calien-xlsexport)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103574.3k69](/packages/friendsoftypo3-content-blocks)[typo3/cms-adminpanel

TYPO3 CMS Admin Panel - The Admin Panel displays information about your site in the frontend and contains a range of metrics including debug and caching information.

115.8M71](/packages/typo3-cms-adminpanel)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34311.2k](/packages/web-vision-wv-deepltranslate)[web-vision/deepltranslate-core

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34162.0k10](/packages/web-vision-deepltranslate-core)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22272.4k](/packages/eliashaeussler-typo3-warming)[pagemachine/typo3-formlog

Form log for TYPO3

23243.0k8](/packages/pagemachine-typo3-formlog)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
