PHPackages                             wabisoft/spreadsheetobject - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. wabisoft/spreadsheetobject

ActiveCraft-plugin[Utility &amp; Helpers](/categories/utility)

wabisoft/spreadsheetobject
==========================

CSV, XLS and XLSX files to code to use in Twig.

2.2.2(1mo ago)0263↓33.3%proprietaryPHPPHP ^8.2

Since Jun 23Pushed 3mo agoCompare

[ Source](https://github.com/wabi-soft/craft-spreadsheet-object)[ Packagist](https://packagist.org/packages/wabisoft/spreadsheetobject)[ RSS](/packages/wabisoft-spreadsheetobject/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (8)Versions (18)Used By (0)

How to use
==========

[](#how-to-use)

```
{% set table = spreadsheetobject(asset) %}
```

This returns an array of items:

- title
- columnCount
- rows

```
{% if table %}
    Name of imported sheet: {{ table.title }}
    Total Columns: {{ table.columnCount }}

        {% for row in table.rows %}

                {% for column in row %}
                    {{ column }}
                {% endfor %}

        {% endfor %}

{% endif %}
```

Options
-------

[](#options)

Supports:

- `sheet` - integer of the sheet to import. Defaults to 1;
- `removeRow` - integer of row to delete. Defaults to false
- `removeColumn` - letter value of column to delete. Defaults to false
- `removeColumnByIndex` - index value, starting at 1, of column to delete. Defaults to false

### Example:

[](#example)

```
{% set table = asset | spreadsheetobject({
    'removeRow': 1,
    'removeColumnByIndex': 1
}) %} %}
```

Configuration Options
---------------------

[](#configuration-options)

If the table results should be stored in the database for subsequent reading.

```
 'storeInDb' => true
```

Commands
--------

[](#commands)

Plugin will watch for deleted and updated assets but if you want to flush all the records:

```
craft spreadsheet-object/flush/all

```

Helper Macro
------------

[](#helper-macro)

A helper macro is exposed at `_table-helper` which is compatible with table, row and cells.

A simple table example:

```
{% import '_table-helper' as tableHelper %}
{% set table = asset | spreadsheetobject %}

{{ tableHelper.table(table) }}

```

Full example:

```
{% import '_table-helper' as tableHelper %}
{% set table = asset | spreadsheetobject %}

{{ tableHelper.table(table, {
    thead: false,
    tfoot: false,
    classes: {
        table: false,
        tr: false,
        td: false,
        th: false,
        thead: false,
        tfoot: false,
        first: {
            tr: false,
            td: false,
            th: false,
        },
        last: {
            tr: false,
            td: false,
            th: false
        }
    }
}) }}

```

See: [template code](/src/templates/macros/table.twig)

#### Row only example

[](#row-only-example)

```
{% import '_table-helper' as tableHelper %}
{% set table = asset | spreadsheetobject %}

{% for row in table.rows %}

            Name
            Email
            Phone

    {{ tableHelper.tr(row) }}
{% endfor %}

```

*Row helper accepts same options object as full table*

See: [template code](/src/templates/macros/tr.twig)

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance85

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~72 days

Recently: every ~13 days

Total

15

Last Release

54d ago

Major Versions

1.0.1 → v5.x-dev2025-05-05

PHP version history (3 changes)1.0.0PHP ^8.0

v5.x-devPHP ^8.2

2.0.1PHP ^8.0 || ^9.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/7718b78e388ae9579c782d645832587ddb34f7fc892018a37bbf3631f7f62fa8?d=identicon)[wabisoft](/maintainers/wabisoft)

---

Top Contributors

[![dustinwalker](https://avatars.githubusercontent.com/u/360177?v=4)](https://github.com/dustinwalker "dustinwalker (38 commits)")

### Embed Badge

![Health badge](/badges/wabisoft-spreadsheetobject/health.svg)

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

###  Alternatives

[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

52664.9k12](/packages/solspace-craft-freeform)[craftcms/ckeditor

Edit rich text content in Craft CMS using CKEditor.

48359.1k52](/packages/craftcms-ckeditor)[verbb/tablemaker

Create customizable and user-defined table fields.

40168.8k1](/packages/verbb-tablemaker)[supercool/tablemaker

Create customizable and user-defined table fields.

40141.7k](/packages/supercool-tablemaker)[verbb/vizy

A flexible visual editor field for Craft.

4348.6k](/packages/verbb-vizy)[verbb/icon-picker

A slick field to pick icons from. Supports SVGs, Sprites, Webfonts, Font Awesome and more.

16162.4k4](/packages/verbb-icon-picker)

PHPackages © 2026

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