PHPackages                             dgjackson/simplesheet - 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. dgjackson/simplesheet

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

dgjackson/simplesheet
=====================

Provides an additional Spreadsheet Field Type for Craft CMS.

1.0.2(5y ago)8302[3 issues](https://github.com/digitalbutter/craft-simplesheet/issues)MITPHP

Since Jul 17Pushed 5y ago3 watchersCompare

[ Source](https://github.com/digitalbutter/craft-simplesheet)[ Packagist](https://packagist.org/packages/dgjackson/simplesheet)[ RSS](/packages/dgjackson-simplesheet/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (2)Dependencies (3)Versions (4)Used By (0)

[![SimpleSheet Logo](src/icon.svg)](src/icon.svg)

SimpleSheet plugin for Craft CMS 3.x
====================================

[](#simplesheet-plugin-for-craft-cms-3x)

Provides an additional Spreadsheet Field Type for Craft CMS. Read about why we built this on the [Digital Butter blog](https://www.butter.com.hk/blog/announcing-simplesheet-craft-cms-plugin).

[![Screenshot](resources/img/simplesheet-demo.gif)](resources/img/simplesheet-demo.gif)

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.0.0-beta.23 or later.

SimpleSheets utilizes a non-commercial instance of [Handsontable](https://handsontable.com) via CDN to render spreadsheets. You can find a copy of the Handsontable license online [here](https://handsontable.com/static/licenses/non-commercial/v2/handsontable-non-commercial-license.pdf).

Installation
------------

[](#installation)

To install the plugin, follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
     cd /path/to/project

    ```
2. Then tell Composer to load the plugin:

    ```
     composer require /simple-sheet

    ```
3. In the Control Panel, go to Settings → Plugins and click the “Install” button for SimpleSheet.

SimpleSheet Overview
--------------------

[](#simplesheet-overview)

SimpleSheet brings basic spreadsheet functionality with a familiar interface to Craft CMS.

Configuring SimpleSheet
-----------------------

[](#configuring-simplesheet)

Once the SimpleSheet plugin is successfully installed, it is ready to go.

Using SimpleSheet
-----------------

[](#using-simplesheet)

### Creating a SimpleSheet field

[](#creating-a-simplesheet-field)

You can create a SimpleSheet field in the same way as you would any other field in Craft.

- In the Control Panel, go to "Settings" -&gt; "Fields" and click the "New Field" button.
- Fill out the required fields and select "SimpleSheet" from the "Field Type" dropdown.

You may now add this new field to your sections.

### Adding data

[](#adding-data)

When using a SimpleSheet field in the Entries page, the following actions are available:

- Inserting/Deleting rows and columns
- Duplicating data
- Sorting data
- Rearranging row and column order
- Filtering \*
- Keyboard navigation
- Copying from Excel and Google Sheets

- Note that filters do not permanently alter the source data and will not be saved. This will be updated in a future version.

#### Inserting and Deleting rows and columns

[](#inserting-and-deleting-rows-and-columns)

Right-click on the sheet to bring up the context-menu. The following options will be be available:

- Insert row above
- Insert row below
- Insert column left
- Insert column right
- Remove rows
- Remove columns

#### Duplicating data

[](#duplicating-data)

Data can currently be duplicated through the following steps:

1. Selected the desired row or column to duplicate.
2. Select "copy" from the context menu, or use native keyboard shortcuts (Ctrl+C / Cmd+C)
3. Open the context menu and insert a new row or column.
4. Select the first cell of the newly-created row or column.
5. Use keyboard shortcuts to paste the data (Ctrl+V / Cmd+V)

#### Sorting Data

[](#sorting-data)

Data can be sorted by clicking on the header text of the column. A small arrow will appear in the header to indicate that the spreadsheet data is being sorted by that particular column, and whether the data is being sorted in ascending or descending order.

#### Rearranging row and column order

[](#rearranging-row-and-column-order)

Rows and columns can be rearranged by dragging and dropping them into a new order. A small hand cursor will appear on the selected row/column header to indicate that the element can be dragged. Note that the row/column must be selected for this cursor to appear.

- For rows, the cursor appears at the top of the selected row header.
- For columns, the cursor appears on the left edge of the selected column header.

#### Filtering

[](#filtering)

Data filtering is available through a dropdown button on the right side of each column. The following filter options are available:

- Filter by predefined conditions: - Is/Is Not Empty - Is/Is Not Equal To - Begins/Ends With - Contains/Does Not Contain
- Filter by value (freeform text)
- Manual filter (select/deselect specific values from a list of checkboxes)

#### Keyboard navigation

[](#keyboard-navigation)

Basic keyboard navigation is supported:

1. **Tab** moves the current cell focus right.
2. **Shift+Tab** moves the current cell focus left.
3. **Enter/Return**- On first keypress, will enter the top leftmost selected cell for editing. - On second keypress, will commit any changes and move down one cell.
4. **Directional keys** moves the current cell focus in the direction pressed.

#### Copying from Excel and Google Sheets

[](#copying-from-excel-and-google-sheets)

Data can be copied from Excel/Google Sheets and pasted into the spreadsheet using standard keyboard shortcuts To Copy: **Ctrl+C** on Windows/Linux, **Cmd+C** on MacOS. To Paste: **Ctrl+V** on Windows/Linux, **Cmd+V** on MacOS.

Note that formatting and styling features are currently not supported and will not carry over into the SimpleSheet field.

### Displaying the SimpleSheet

[](#displaying-the-simplesheet)

#### Embed

[](#embed)

Rendering a non-editable version of your spreadsheet in the frontend is a simple matter of using the `embed` method on your SimpleSheet field. This will return a div container tag with your provided (or auto-generated ID), and will include the JS and CSS required to render the spreadsheet.

```
    {{ entry.mySimpleSheetField.embed() }}

```

Embed accepts an optional `options` object as its only parameter. The following values are currently accepted:

- `id` : Provide the id of a html element which will be used to create the SimpleSheet container in HTML.
- `width` : Define the SimpleSheet's width as a string. Default `100%`.
- `height` : Define the Simplesheet's height. Default `500px`.

    ```
     {{ entry.mySimpleSheetField.embed({
             id: 'sheet',
             width: '800px',
             height: '600px',
     }) }}

    ```

#### Manual output

[](#manual-output)

If you wish to access the raw data for freeform templating, you can retrieve it using the `data` property on the spreadsheet to retrieve an array of row arrays.

```
    {% set sheetData = mySimpleSheetField.data %}

```

Display the data as a JSON-formatted string:

```
    {{ sheetData | json_encode(constant('JSON_PRETTY_PRINT')) }}

```

Retrieve the number of rows:

```
    {{ sheetData | length }}

```

Retrieve the number of columns:

```
    {{ sheetData[0] | length }}

```

SimpleSheet Roadmap
-------------------

[](#simplesheet-roadmap)

This plugin is currently in its early stages and has limited functionality. Features planned for future versions:

- Support for non-volatile display settings (text alignment, column width, etc), allowing these settings to persist between views and apply to the frontend.
- Allow filters to be carried over between viewing sessions without permanently altering the source data.
- Conditional formatting.
- Apply background colours to cells.
- Apply simple borders to cells.
- Define data types of cells (text, numeric, decimal, etc)
- Support for basic formulas (average, sum, etc)

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.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 ~2 days

Total

2

Last Release

2175d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/531378?v=4)[Digital Butter](/maintainers/digitalbutter)[@digitalbutter](https://github.com/digitalbutter)

---

Top Contributors

[![dgjackson](https://avatars.githubusercontent.com/u/67328953?v=4)](https://github.com/dgjackson "dgjackson (16 commits)")[![mjcrunt](https://avatars.githubusercontent.com/u/6038283?v=4)](https://github.com/mjcrunt "mjcrunt (1 commits)")

---

Tags

craft-plugincraftcmscraftcms-plugincmsCraftcraftcmscraft-pluginsimplesheet

### Embed Badge

![Health badge](/badges/dgjackson-simplesheet/health.svg)

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

###  Alternatives

[verbb/formie

The most user-friendly forms plugin for Craft.

102393.6k69](/packages/verbb-formie)[verbb/comments

Add comments to your site.

13753.9k](/packages/verbb-comments)[verbb/navigation

Create navigation menus for your site.

92705.0k18](/packages/verbb-navigation)[verbb/vizy

A flexible visual editor field for Craft.

4250.4k](/packages/verbb-vizy)[verbb/hyper

A user-friendly links field for Craft.

24147.8k12](/packages/verbb-hyper)[verbb/workflow

Enforce multi-step review processes for creating entries.

138124.1k1](/packages/verbb-workflow)

PHPackages © 2026

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