PHPackages                             kriss/spout - 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. [PDF &amp; Document Generation](/categories/documents)
4. /
5. kriss/spout

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

kriss/spout
===========

PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way

v3.3.0.8(7mo ago)12.1kApache-2.0PHPPHP &gt;=7.3.0

Since Jan 16Pushed 7mo agoCompare

[ Source](https://github.com/krissss/spout)[ Packagist](https://packagist.org/packages/kriss/spout)[ Docs](https://www.github.com/box/spout)[ GitHub Sponsors](https://github.com/adrilo)[ RSS](/packages/kriss-spout/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (3)Versions (46)Used By (0)

关于此 fork
========

[](#关于此-fork)

- 合并了 [PR 738](https://github.com/box/spout/pull/738)
- 支持 [hyperlink](https://github.com/97WaterPolo/spout/commit/e087e2b03ed9ad76582e15ac78c1db2f1f3e4b2a)
- 新增支持了数据垂直样式（水平垂直居中）
- 支持在不同 sheet 中进行单元格合并（之前设置单元格合并，会作用于所有 sheet）
- 发布版本号为官方版本号后加一位

Spout
=====

[](#spout)

[![Latest Stable Version](https://camo.githubusercontent.com/75b9654bf2f2833cea180490b72f597c1b17f88391085da11328d9ae3431a918/68747470733a2f2f706f7365722e707567782e6f72672f626f782f73706f75742f762f737461626c65)](https://packagist.org/packages/box/spout)[![Project Status](https://camo.githubusercontent.com/db785e974d50375ffabc7fcb4b08b7458601c081d81e29fa8ce818f6f6d422b4/68747470733a2f2f6f70656e736f757263652e626f782e636f6d2f6261646765732f6163746976652e737667)](https://opensource.box.com/badges)[![Build Status](https://camo.githubusercontent.com/47d6f64a1e3df553a95da81a2a1d2c0c8eecf904211f1b429bdffab978a7c2ed/68747470733a2f2f7472617669732d63692e6f72672f626f782f73706f75742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/box/spout)[![Coverage Status](https://camo.githubusercontent.com/a1d4709d837d41298fab42a00fd82a9754eb177b610b40b1fe2d7c1f1e9033de/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f626f782f73706f75742f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/box/spout?branch=master)[![Total Downloads](https://camo.githubusercontent.com/7b134b5eba7c7ab4518b314ced0f62e2d61b5137e3d1fbc52004751a84e74848/68747470733a2f2f706f7365722e707567782e6f72672f626f782f73706f75742f646f776e6c6f616473)](https://packagist.org/packages/box/spout)

Spout is a PHP library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way. Unlike other file readers or writers, it is capable of processing very large files, while keeping the memory usage really low (less than 3MB).

Join the community and come discuss Spout: [![Gitter](https://camo.githubusercontent.com/abe08b740a4156153736f791393ec4da6619c4be73212e75769f52edacc0e2b5/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/box/spout?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

Documentation
-------------

[](#documentation)

Full documentation can be found at .

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

[](#requirements)

- PHP version 7.2 or higher
- PHP extension `php_zip` enabled
- PHP extension `php_xmlreader` enabled

Upgrade guide
-------------

[](#upgrade-guide)

Version 3 introduced new functionality but also some breaking changes. If you want to upgrade your Spout codebase from version 2 please consult the [Upgrade guide](UPGRADE-3.0.md).

Running tests
-------------

[](#running-tests)

The `master` branch includes unit, functional and performance tests. If you just want to check that everything is working as expected, executing the unit and functional tests is enough.

- `phpunit` - runs unit and functional tests
- `phpunit --group perf-tests` - only runs the performance tests

For information, the performance tests take about 10 minutes to run (processing 1 million rows files is not a quick thing).

> Performance tests status: [![Build Status](https://camo.githubusercontent.com/15d28ee4eb26a17fb79cc91599e6cba5559ac0cbea4ca5a71e133c2da07379da/68747470733a2f2f7472617669732d63692e6f72672f626f782f73706f75742e7376673f6272616e63683d706572662d7465737473)](https://travis-ci.org/box/spout)

Support
-------

[](#support)

You can ask questions, submit new features ideas or discuss Spout in the chat room:
[![Gitter](https://camo.githubusercontent.com/abe08b740a4156153736f791393ec4da6619c4be73212e75769f52edacc0e2b5/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/box/spout?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

Copyright and License
---------------------

[](#copyright-and-license)

Copyright 2017 Box, Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance64

Regular maintenance activity

Popularity19

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 78.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 ~93 days

Recently: every ~79 days

Total

43

Last Release

221d ago

Major Versions

v1.1.0 → v2.0.02015-07-28

v2.7.3 → v3.0.02019-05-24

PHP version history (4 changes)1.0.0PHP &gt;=5.4.0

v3.0.0PHP &gt;=7.1.0

v3.2.0PHP &gt;=7.2.0

v3.3.0.2PHP &gt;=7.3.0

### Community

Maintainers

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

---

Top Contributors

[![adrilo](https://avatars.githubusercontent.com/u/7086917?v=4)](https://github.com/adrilo "adrilo (278 commits)")[![madflow](https://avatars.githubusercontent.com/u/183248?v=4)](https://github.com/madflow "madflow (16 commits)")[![krissss](https://avatars.githubusercontent.com/u/10680903?v=4)](https://github.com/krissss "krissss (13 commits)")[![alamirault](https://avatars.githubusercontent.com/u/9253091?v=4)](https://github.com/alamirault "alamirault (7 commits)")[![eisberg](https://avatars.githubusercontent.com/u/9015003?v=4)](https://github.com/eisberg "eisberg (4 commits)")[![sfichera](https://avatars.githubusercontent.com/u/3146077?v=4)](https://github.com/sfichera "sfichera (4 commits)")[![yiranzai](https://avatars.githubusercontent.com/u/20548510?v=4)](https://github.com/yiranzai "yiranzai (3 commits)")[![carusogabriel](https://avatars.githubusercontent.com/u/16328050?v=4)](https://github.com/carusogabriel "carusogabriel (3 commits)")[![jmsche](https://avatars.githubusercontent.com/u/3929498?v=4)](https://github.com/jmsche "jmsche (3 commits)")[![KiNgMaR](https://avatars.githubusercontent.com/u/438358?v=4)](https://github.com/KiNgMaR "KiNgMaR (2 commits)")[![guss77](https://avatars.githubusercontent.com/u/381782?v=4)](https://github.com/guss77 "guss77 (2 commits)")[![tobya](https://avatars.githubusercontent.com/u/325502?v=4)](https://github.com/tobya "tobya (2 commits)")[![Lewiscowles1986](https://avatars.githubusercontent.com/u/2605791?v=4)](https://github.com/Lewiscowles1986 "Lewiscowles1986 (2 commits)")[![lichunqiang](https://avatars.githubusercontent.com/u/2433916?v=4)](https://github.com/lichunqiang "lichunqiang (1 commits)")[![drowe-wayfair](https://avatars.githubusercontent.com/u/126295987?v=4)](https://github.com/drowe-wayfair "drowe-wayfair (1 commits)")[![nimmneun](https://avatars.githubusercontent.com/u/5374300?v=4)](https://github.com/nimmneun "nimmneun (1 commits)")[![philipbrown](https://avatars.githubusercontent.com/u/1579059?v=4)](https://github.com/philipbrown "philipbrown (1 commits)")[![rlukasz](https://avatars.githubusercontent.com/u/10188984?v=4)](https://github.com/rlukasz "rlukasz (1 commits)")[![camuthig](https://avatars.githubusercontent.com/u/5178217?v=4)](https://github.com/camuthig "camuthig (1 commits)")[![someson](https://avatars.githubusercontent.com/u/3097223?v=4)](https://github.com/someson "someson (1 commits)")

---

Tags

streamphpexcelxlsxcsvmemoryodfofficeOOXMLspreadsheetodsopenreadwritescale

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/kriss-spout/health.svg)

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

###  Alternatives

[openspout/openspout

PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way

1.2k57.6M131](/packages/openspout-openspout)

PHPackages © 2026

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