PHPackages                             nick322/secure-spreadsheet - 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. [Security](/categories/security)
4. /
5. nick322/secure-spreadsheet

ActiveLibrary[Security](/categories/security)

nick322/secure-spreadsheet
==========================

Encrypt and password protect sensitive XLSX files

1.0.19(3mo ago)31192.3k↑13.3%11MITPHPPHP ^7.3 || ^8.0CI passing

Since Aug 5Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/nick322/secure-spreadsheet)[ Packagist](https://packagist.org/packages/nick322/secure-spreadsheet)[ RSS](/packages/nick322-secure-spreadsheet/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (33)Used By (0)

Secure Spreadsheet
==================

[](#secure-spreadsheet)

🔥 Secure your data exports - encrypt and password protect sensitive XLSX files

The [Office Open XML format](https://en.wikipedia.org/wiki/Office_Open_XML) provides a standard for encryption and password protection

Works with Excel, Numbers, and LibreOffice Calc

[![Build Status](https://github.com/nick322/secure-spreadsheet/workflows/tests/badge.svg?branch=master)](https://github.com/nick322/secure-spreadsheet/actions)

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

[](#installation)

To install the package:

Run `composer require nick322/secure-spreadsheet` to add the package to your project.

Or run `composer global require nick322/secure-spreadsheet` to add the package to your system.

This will automatically install the package to your vendor folder.

Use
---

[](#use)

In cli

```
secure-spreadsheet run --password=1 --input=/Users/nick/Encryptor/Book1.xlsx --output=/Users/nick/Encryptor/bb.xlsx
```

In php

Usage Examples

```
require "vendor/autoload.php";

use Nick\SecureSpreadsheet\Encrypt;

$test = new Encrypt();
$test->input('Book1.xlsx')
    ->password('111')
    ->output('bb.xlsx');
```

Memory-only input and output (no file interaction)

```
$test = new Encrypt($nofile = true);
$output = $test->input($binaryData)
    ->password('111')
    ->output();
```

Memory output with a temporary folder

```
$test = new Encrypt(true);
$out = $test->input('Book1.xlsx')
    ->setTempPathFolder(__DIR__ . DIRECTORY_SEPARATOR . 'tmp')
    ->password('111')
    ->output();
```

File input and file output with a temporary folder

```
$test = new Encrypt;
$test->input('Book1.xlsx')
    ->setTempPathFolder(__DIR__ . DIRECTORY_SEPARATOR . 'tmp')
    ->password('111')
    ->output('bb4.xlsx');
```

Credits
-------

[](#credits)

Thanks to [xlsx-populate](https://github.com/dtjohnson/xlsx-populate) for providing the encryption and password protection.

History
-------

[](#history)

View the [changelog](https://github.com/nick322/secure-spreadsheet/blob/master/CHANGELOG.md)

Contributing
------------

[](#contributing)

Everyone is encouraged to help improve this project. Here are a few ways you can help:

- [Report bugs](https://github.com/nick322/secure-spreadsheet/issues)
- Fix bugs and [submit pull requests](https://github.com/nick322/secure-spreadsheet/pulls)
- Write, clarify, or fix documentation
- Suggest or add new features

To get started with development:

```
git clone https://github.com/nick322/secure-spreadsheet.git
cd secure-spreadsheet
./secure-spreadsheet
```

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance78

Regular maintenance activity

Popularity46

Moderate usage in the ecosystem

Community16

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 95.3% 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 ~60 days

Recently: every ~85 days

Total

22

Last Release

113d ago

Major Versions

1.0.12 → 26.x-dev2024-11-12

1.0.13 → 28.x-dev2024-12-27

PHP version history (6 changes)1.0.0PHP ^7.4 || ^8.0 || ^8.1

1.0.5PHP ^7.3 || ^7.4 || ^8.0 || ^8.1

1.0.11PHP ^7.3 || ^7.4 || ^8.0 || ^8.1 || ^8.2

26.x-devPHP ^7.3 || ^7.4 || ^8.0 || ^8.1 || ^8.2 || ^8.3

28.x-devPHP ^7.3 || ^7.4 || ^8.0 || ^8.1 || ^8.2 || ^8.3 || ^8.4

1.0.15PHP ^7.3 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/6a5a45071b5b4cb2a4a5a40ae9397f23497a6e2a6ea9c1d95e7a7ca713a08e34?d=identicon)[nick322](/maintainers/nick322)

---

Top Contributors

[![nick322](https://avatars.githubusercontent.com/u/9151347?v=4)](https://github.com/nick322 "nick322 (61 commits)")[![gggeek](https://avatars.githubusercontent.com/u/308634?v=4)](https://github.com/gggeek "gggeek (1 commits)")[![yejune](https://avatars.githubusercontent.com/u/3735511?v=4)](https://github.com/yejune "yejune (1 commits)")[![ywisax](https://avatars.githubusercontent.com/u/2742516?v=4)](https://github.com/ywisax "ywisax (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/nick322-secure-spreadsheet/health.svg)

```
[![Health](https://phpackages.com/badges/nick322-secure-spreadsheet/health.svg)](https://phpackages.com/packages/nick322-secure-spreadsheet)
```

###  Alternatives

[defuse/php-encryption

Secure PHP Encryption Library

3.9k162.4M214](/packages/defuse-php-encryption)[mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

2.0k16.7M113](/packages/mews-purifier)[robrichards/xmlseclibs

A PHP library for XML Security

41478.1M118](/packages/robrichards-xmlseclibs)[bjeavons/zxcvbn-php

Realistic password strength estimation PHP library based on Zxcvbn JS

87117.5M63](/packages/bjeavons-zxcvbn-php)[illuminate/encryption

The Illuminate Encryption package.

9229.7M280](/packages/illuminate-encryption)[paragonie/hidden-string

Encapsulate strings in an object to hide them from stack traces

7410.6M39](/packages/paragonie-hidden-string)

PHPackages © 2026

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