PHPackages                             zhaqq/xlsx - 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. zhaqq/xlsx

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

zhaqq/xlsx
==========

PHP Library to write XLSX files

v1.0.0(6y ago)13MITPHPPHP &gt;=7.1

Since Jul 12Pushed 6y agoCompare

[ Source](https://github.com/viliy/xlsx-writer)[ Packagist](https://packagist.org/packages/zhaqq/xlsx)[ RSS](/packages/zhaqq-xlsx/feed)WikiDiscussions master Synced 2mo ago

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

xlsx - writer
=============

[](#xlsx---writer)

[![Build Status](https://camo.githubusercontent.com/813ee8e6a16f661ab37c5e02b8f3fbe8e2ceb42638aad305ff47ea0a34219d43/68747470733a2f2f7472617669732d63692e6f72672f76696c69792f786c73782d7772697465722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/viliy/xlsx-writer)[![StyleCI](https://camo.githubusercontent.com/3b69207509c26042e8074140e1e2168fe8c513f3be328030a5acbe1a3f4c2338/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3139353736363430332f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/195766403)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/cf4dbda1dcf8c3cbc91def5af8c470b56bff0b82d7aa2733a9ac98496c85df12/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f76696c69792f786c73782d7772697465722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/viliy/xlsx-writer/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/401e011e8d29a4d90e2e435240fe49dcf1eaaba63746d49d3654e4243893af0c/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f76696c69792f786c73782d7772697465722f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/viliy/xlsx-writer/?branch=master)[![Build Status](https://camo.githubusercontent.com/1d5c44f896e05427f66304153ae3264dbbd0ce52fc532495fea1ddf8a79e26be/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f76696c69792f786c73782d7772697465722f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/viliy/xlsx-writer/build-status/master)[![Code Intelligence Status](https://camo.githubusercontent.com/c0de6eebd35e70a25e95cf2124b6840c67046dc212583b814b081baaeab897fe/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f76696c69792f786c73782d7772697465722f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d6173746572)](https://scrutinizer-ci.com/code-intelligence)

- PHP &gt;= 7.1
- see to [PHP\_XLSXWriter](https://github.com/mk-j/PHP_XLSXWriter)

install
-------

[](#install)

```
composer require zhaqq/xlsx
```

CLI Example
-----------

[](#cli-example)

```
    $writer = new Builder();
    $fileName = __DIR__ . '/data/xlsx_writer' . date('Ymd-His') . '.xlsx';
    $writer->buildHeader('sheet_name_1', [
         'title' => 'string',
         'content' => 'string',
         'weight' => 'number',
    ]);
    $writer->buildHeader('sheet_name_2', [
                 'title' => 'string',
                 'content' => 'string',
                 'price' => 'price',
    ]);
    foreach (rows(100) as $row) {
        $writer->writeSheetRow($row[0], $row[1]);
    }
    $writer->writeToFile($fileName);

    function rows($n = 100)
    {
        for ($i = 0; $i < $n; $i++) {
            if ($i % 2) {
                yield ['sheet_name_1', [
                    'title' . $i,
                    'content' . $i,
                    $i++,
                ]];
            } else {
                yield ['sheet_name_2', [
                    'title' . $i,
                    'content' . $i,
                    $i++,
                ]];
            }
        }
    }
```

rowstimememory1000.017s2MB10000.018s2MB50000.151s2MB500000.696s2MB1000001.411s2MB1500002.067s2MB2000002.720s2MB2500003.307s2MBusage function
--------------

[](#usage-function)

- do it : =A{n}+B{n} or =A2+B3
- make type: number (price, float3)

[![](example1.png)](example1.png)

[![](example2.png)](example2.png)

```
try {
    $writer   = new Builder();
    $fileName = __DIR__ . '/data/xlsx_writer' . date('Ymd-His') . '.xlsx';
    $writer->buildHeader('sheet_name_1', [
        'title'   => 'number',
        'content' => 'number',
        'weight'  => 'number',
    ]);

    foreach (rows() as $row) {
        $writer->writeSheetRow($row[0], $row[1]);
    }
    times($start);

    $writer->writeToFile($fileName);
    times($start);

} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

function rows($n = 20)
{
    for ($i = 0; $i < $n; $i++) {
        yield ['sheet_name_1', [
            $i,
            $i,
            '=A{n}+B{n}',
        ]];
    }
}
```

usage
-----

[](#usage)

```
