PHPackages                             youwe/pimcore-excelculator - 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. youwe/pimcore-excelculator

ActivePimcore-plugin

youwe/pimcore-excelculator
==========================

0.1.5(7y ago)12.4k1PHP

Since Jan 30Pushed 7y ago10 watchersCompare

[ Source](https://github.com/YouweGit/PimcoreExcelculator)[ Packagist](https://packagist.org/packages/youwe/pimcore-excelculator)[ RSS](/packages/youwe-pimcore-excelculator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (8)Used By (0)

PIMCORE EXCEL EXTENSION
-----------------------

[](#pimcore-excel-extension)

Version: Pimcore 4.x

Note: NOT compatible with Pimcore versions under 4

Developed by: Youwe (Roelf)

Excerpt
-------

[](#excerpt)

- Always wanted to perform extensive calculations simply using excel sheets?
- Would you like a service in the background to make sure the excel sheets are ready to calculate when you need it?

... then this extension is for you!

Description
-----------

[](#description)

The pimcore deployment extension as the following general functionalities:

- Provide results of excel calculations as long as the service is running

Usage and examples
------------------

[](#usage-and-examples)

Enable the plugin in Pimcore!

Run the service / make sure its running when your server boots up:

```
php ./plugins/PimcoreExcelculator/cli/PimcoreExcelculatorServer.php

```

Try the test to make sure the service works:

```
php ./plugins/PimcoreExcelculator/cli/PimcoreExcelculatorServerTest.php

```

Configure your own excel files (and socket-binding) to perform calculations with:

```
cp ./plugins/PimcoreExcelculator/pimcore-excel-config.default.php ./website/var/config/pimcore-excel-config.php
vi ./website/var/config/pimcore-excel-config.php

```

Example code without error handling
-----------------------------------

[](#example-code-without-error-handling)

```
// simple example

$calcey = new \PimcoreExcelculator\PimcoreExcelculatorCalc('included-demo-file');
$calcey->set([
    'A3' => 420,
    'A4' => 246
]);

$results = $calcey->get(['A5']);

echo 'result: ' . var_export($results, true);

```

Example code with error handling
--------------------------------

[](#example-code-with-error-handling)

```
// you want to catch possible errors, because this functionality
// depends on a service that should be running in the background,
// and there is always the possibility that the service is busy
// or has not been started, or has crashed

$calcey = new \PimcoreExcelculator\PimcoreExcelculatorCalc('included-demo-file');
$calcey->set([
    'A3' => 420,
    'A4' => 246
]);

try {
    $results = $calcey->get(['A5']);
}
catch (\Throwable $t) {
    if($t->getCode() == 888) {
        // could not connect to the service!
    }
    else {
        // something else is wrong  ( check $t->getMessage() )
    }
}

echo 'result: ' . var_export($results, true);

```

Example code with error handling and different sheets in one file
-----------------------------------------------------------------

[](#example-code-with-error-handling-and-different-sheets-in-one-file)

```
$calcey = new \PimcoreExcelculator\PimcoreExcelculatorCalc('some-not-included-file');
$calcey->set([
    'sheetOne.A3' => 420,
    'sheetTwo.A4' => 246
]);

try {
    $results = $calcey->get(['sheetThree.A5', 'sheetFour.C6']);
}
catch (\Throwable $t) {
    if($t->getCode() == 888) {
        // could not connect to the service!
    }
    else {
        // something else is wrong  ( check $t->getMessage() )
    }
}

echo 'result: ' . var_export($results, true);

```

Deployment to server
--------------------

[](#deployment-to-server)

Run the service / make sure its running when your server boots up:

```
php ./plugins/PimcoreExcelculator/cli/PimcoreExcelculatorServer.php

```

You can do this, for example, using a cron job:

```
*/1 * * * * flock -n /tmp/pimcore.excel.lockfile -c "/usr/bin/php /var/www/html/plugins/PimcoreExcelculator/cli/PimcoreExcelculatorServer.php"

```

Troubleshooting
---------------

[](#troubleshooting)

Before importing the definitions, you might need to set the correct permissions, in order for this script to be able to write to the definition files. In case of local development, a low security solution like the following could be used:

```
sudo chmod -R 777 .

```

Make sure you have your local apache running as root or your user, or it might not be able to connect to the service:

On macOS/OSX:

```
in httpd.conf

User my-username
Group _www

or

User root
Group _www

```

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

[](#installation)

Plugin can be installed through composer. Add json to your composer.json:

```
composer require youwe/pimcore-excelculator

```

Activate/enable the plugin in pimcore's extras-&gt;extensions list.

Also, add this to your .gitignore:

```
/plugins/PimcoreExcelculator

```

Plugin development
------------------

[](#plugin-development)

To create a new version, check out the master branch somewhere and go:

```
git tag
git tag 0.x.x         (minor update = latest tag + 0.0.1)
git push origin --tags

```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 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 ~147 days

Recently: every ~184 days

Total

6

Last Release

2648d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d1aea28c806322edb89f68278b28e8e95d5daeff723b442fa6eef3449c2b7fe8?d=identicon)[youweagency](/maintainers/youweagency)

![](https://www.gravatar.com/avatar/c02ea57a258994d3f586ba5c58bd3d66bac8567bd5501466bb75a0faad786aa9?d=identicon)[jorisros](/maintainers/jorisros)

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

![](https://www.gravatar.com/avatar/f40aaa831d41d5e1709421b72b3165cfcc79ce1a651057ca804c32d62b5af2bc?d=identicon)[Sunohara666](/maintainers/Sunohara666)

![](https://www.gravatar.com/avatar/b7d57363f8d583694f0974e61b6ba994048f369adb55e7df5734947e5a4b1b89?d=identicon)[Youwe](/maintainers/Youwe)

---

Top Contributors

[![paulovitorbal](https://avatars.githubusercontent.com/u/1259996?v=4)](https://github.com/paulovitorbal "paulovitorbal (2 commits)")

### Embed Badge

![Health badge](/badges/youwe-pimcore-excelculator/health.svg)

```
[![Health](https://phpackages.com/badges/youwe-pimcore-excelculator/health.svg)](https://phpackages.com/packages/youwe-pimcore-excelculator)
```

###  Alternatives

[basilicom-pimcore-plugin/document-authentication

Enables selective HTTP Basic Auth via document properties

102.8k](/packages/basilicom-pimcore-plugin-document-authentication)

PHPackages © 2026

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