PHPackages                             stepupdream/spread-sheet-converter - 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. stepupdream/spread-sheet-converter

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

stepupdream/spread-sheet-converter
==================================

support package

v3.0.0(3y ago)032[1 PRs](https://github.com/stepupdream/spread-sheet-converter/pulls)MITPHPPHP &gt;=8.0.0

Since Jul 23Pushed 1y ago1 watchersCompare

[ Source](https://github.com/stepupdream/spread-sheet-converter)[ Packagist](https://packagist.org/packages/stepupdream/spread-sheet-converter)[ RSS](/packages/stepupdream-spread-sheet-converter/feed)WikiDiscussions develop Synced 1mo ago

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

Spreadsheet Converter
=====================

[](#spreadsheet-converter)

[![Laravel 9](https://camo.githubusercontent.com/4b992cd180494fb47785e1962fc0def3ed3e8e3123a67b48c1e1eccb7d14509e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d392d6f72616e67652e737667)](http://laravel.com)[![testing](https://github.com/stepupdream/spread-sheet-converter/actions/workflows/testing.yml/badge.svg?branch=develop)](https://github.com/stepupdream/spread-sheet-converter/actions/workflows/testing.yml)[![Latest Stable Version](https://camo.githubusercontent.com/151250f732ab95f159650519d2f384844153b795c43a9622573bfe02a476f642/687474703a2f2f706f7365722e707567782e6f72672f737465707570647265616d2f7370726561642d73686565742d636f6e7665727465722f76)](https://packagist.org/packages/stepupdream/spread-sheet-converter)[![License](https://camo.githubusercontent.com/dc688eace37a5f0a151450c075172dc472e4b4f37afbad5fc13a3bfe5133569d/687474703a2f2f706f7365722e707567782e6f72672f737465707570647265616d2f7370726561642d73686565742d636f6e7665727465722f6c6963656e7365)](https://packagist.org/packages/stepupdream/spread-sheet-converter)[![PHP Version Require](https://camo.githubusercontent.com/69abef646d1ddd80a363939aaa8b37fbc970eac8825630d7c3aba9ef24a32c24/687474703a2f2f706f7365722e707567782e6f72672f737465707570647265616d2f7370726561642d73686565742d636f6e7665727465722f726571756972652f706870)](https://packagist.org/packages/stepupdream/spread-sheet-converter)

Introduction
------------

[](#introduction)

You can read the information in Google Sheets and convert it to a Yaml file.
It's hard to handwrite Yaml files, so it's perfect for people who want to manage with Google Spreadsheet.
You can freely change the character string and count of the header line of the Google Spreadsheet to be read.
The contents of the exported yaml file can be freely formatted with the Laravel blade file.

Features
--------

[](#features)

- Supports 3 types of pattern input methods
- Execution time is short because the number of accesses to Google Spreadsheet is minimal
- You can freely perform the output location and processing after output
- You can also perform input validation of Google Spreadsheet by replacing the class using the service provider

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

[](#requirements)

The requirements to Spreadsheet converter application is:

- PHP - Supported Versions: &gt;= 8.0
- Laravel - Supported Versions: &gt;= 9.0

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

[](#installation)

Require this package with composer using the following command:

```
composer require --dev stepupdream/spread-sheet-converter
```

Arrangement
-----------

[](#arrangement)

1. Please log in to your Google account. Then, while logged in, access the [Google API Console](https://console.cloud.google.com)
2. Create a new project. Feel free to decide the project name
3. Click APIs and Services in the menu on the left side of the page. Enable APIs and services
4. Search for the Google Sheets API and enable its use. Then click "Create Credentials" on the right side of the page
    - API to use : Google Sheets API
    - Where to call the API : Web server
    - Types of data to be accessed : Application data
    - Are you planning to use this API on App Engine or Compute Engine? : No
5. Enter the content of "Add Credentials to Project"
    - Service account name: Owner
    - Key type : JSON
6. The JSON file required for authentication will be downloaded
7. Rename it credentials.json and put it in the "storage/app/json" folder
8. Create a Google Spreadsheet
9. Add shared members to the created Google Spreadsheet
    - json file Add the members listed in "dev-test@\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*.iam.gserviceaccount.com"
10. Check the file ID of the created Google Spreadsheet > [https://docs.google.com/spreadsheets/d/（ID）/edit#gid=0](https://docs.google.com/spreadsheets/d/%EF%BC%88ID%EF%BC%89/edit#gid=0)

Usage
-----

[](#usage)

1. You can publish the config file (php artisan vendor:publish) and set the default directories
2. Feel free to modify the config file

Run Locally
-----------

[](#run-locally)

Generate yaml files

```
php artisan spread-sheet-converter:create-definition-document
```

Example Config
--------------

[](#example-config)

- credentials\_path : Specify the location of the json file obtained in the preparation stage
- request\_rule\_column\_name : Enter the name of the column that manages Laravel's validation rules
- request\_rule\_sheet\_name : Enter the name of the sheet that manages Laravel's validation rules
- category\_tag : Please enter the classification name of the corresponding Spreadsheet. Duplicate names are prohibited
- read\_type : "SingleGroup" or "MultiGroup" or "Other"
- use\_blade : Please enter the name of the template file to use
- output\_directory\_path : Enter the output destination of the Yaml file
- definition\_directory\_path : Specify the path of the directory where only the Yaml files you actually use are stored
- separation\_key : Enter the column name that separates the parent group and the child group
- attribute\_group\_column\_name : Enter the column name that separates the parent group and the child group

```
return [
    'credentials_path'         => storage_path('app/json/credentials.json'),
    'request_rule_column_name' => 'RequestRule',
    'request_rule_sheet_name'  => 'RequestRule',
    'read_spread_sheets'       => [
        [
            'sheet_id'                    => '***************************',
            'category_tag'                => 'MasterData',
            'read_type'                   => 'SingleGroup',
            'use_blade'                   => 'single',
            'output_directory_path'       => base_path('definition_document/tmp/database/master_data'),
            'definition_directory_path'   => base_path('definition_document/database/master_data'),
            'separation_key'              => 'ColumnName',
            'attribute_group_column_name' => null,
        ],
    ],
];
```

Sample
------

[](#sample)

- [SingleGroup](https://docs.google.com/spreadsheets/d/118OSLkrru3fekGNy3Cq44UuqLU4gEzDpy_WTYfhgukU/edit#gid=0)
    [![2021-12-31_22h07_44](https://user-images.githubusercontent.com/95772377/147825699-73056b80-921a-4237-8b40-34822f74db33.png)](https://user-images.githubusercontent.com/95772377/147825699-73056b80-921a-4237-8b40-34822f74db33.png)
- [MultiGroup](https://docs.google.com/spreadsheets/d/1W1B5kFA698jV56hW-Mw0VzI8hJqkbDeBEsSXYAaaIi4/edit#gid=0)
    [![2021-12-31_22h08_37](https://user-images.githubusercontent.com/95772377/147825723-b02ead73-468d-4ad0-8e67-fc52b689b6c7.png)](https://user-images.githubusercontent.com/95772377/147825723-b02ead73-468d-4ad0-8e67-fc52b689b6c7.png)
- [Other](https://docs.google.com/spreadsheets/d/1Qi7jiilObhcigjfrHtRWgfRkgQ58xjXxHNTsfCoOUy4/edit#gid=0)
    [![2021-12-31_22h08_02](https://user-images.githubusercontent.com/95772377/147826406-cdec3adf-aa32-4e2f-837f-c06ace0bdd86.png)](https://user-images.githubusercontent.com/95772377/147826406-cdec3adf-aa32-4e2f-837f-c06ace0bdd86.png)

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

[](#contributing)

Please see [CONTRIBUTING](https://github.com/stepupdream/spread-sheet-converter/blob/main/.github/CONTRIBUTING.md) for details.

Important Point
---------------

[](#important-point)

Google Spreadsheet Settings Please do not publish the json file and Google Spreadsheet ID to the world.

License
-------

[](#license)

The Spreadsheet converter is open-sourced software licensed under the [MIT license](https://choosealicense.com/licenses/mit/)

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

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

Total

5

Last Release

1351d ago

Major Versions

v1.0.0 → v2.0.02022-07-31

v2.2.0 → v3.0.02022-08-27

### Community

Maintainers

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

---

Top Contributors

[![stepupdream](https://avatars.githubusercontent.com/u/108561512?v=4)](https://github.com/stepupdream "stepupdream (118 commits)")

---

Tags

laravelspreadsheetspreadsheetsyamllaravelyamlspreadsheet

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/stepupdream-spread-sheet-converter/health.svg)

```
[![Health](https://phpackages.com/badges/stepupdream-spread-sheet-converter/health.svg)](https://phpackages.com/packages/stepupdream-spread-sheet-converter)
```

###  Alternatives

[hitsend/laravel-formatter

A formatting library that converts data output between XML, CSV, JSON, TXT, YAML and a few others.

2502.0k](/packages/hitsend-laravel-formatter)[bfinlay/laravel-excel-seeder

Seed the database with Laravel using Excel, XLSX, XLS, CSV, ODS, Gnumeric, XML, HTML, SLK files

3944.4k](/packages/bfinlay-laravel-excel-seeder)

PHPackages © 2026

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