# Fast Excel PHP > Blog and documentation for the FastExcelPHP libraries: reading spreadsheets, creating XLSX files, generating documents from templates, and Laravel integration. English site: https://fast-excel-php.com. Each library section below targets the version shown in its heading. Match API examples to the installed package version; blog articles may cover other releases. Guide and reference links point to source Markdown pinned to a full commit SHA. ## Navigation - [Library documentation](https://fast-excel-php.com/docs): Library catalog and current documentation versions. - [Blog articles](https://fast-excel-php.com/): Practical examples and tutorials. ## FastExcelReader 4.5.0 - [Documentation on this site](https://fast-excel-php.com/docs/reader/4.5.0): Read XLSX, XLS and CSV. Import data, styles and metadata. - [FastExcelReader](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/README.md): FastExcelReader is a part of the FastExcelPhp Project which consists of - [Getting Started](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/10-getting-started.md): Since 4.5, use an explicit factory when the format or API level is known: - [Reading Data](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/11-reading-data.md): NOTE: Every time you call the foreach ($sheet->nextRow() as $rowIndex => $row) loop, reading data starts from the first row. - [Advanced Reading](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/12-advanced-reading.md): You can set read area by defined names in workbook. For example if workbook has defined name Headers with range Demo1!$B$4:$D$4 then you can read cells by this name - [Cell Value Types & Date Formatter](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/13-dates-and-types.md): By default, all datetime values returns as timestamp. But you can change this behavior using dateFormatter() - [Cell Styles](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/14-cell-styles.md): Usually read functions return just cell values, but you can read the values with styles. In this case, for each cell, not a scalar value will be returned, but an array like ['v' => scalar_va - [Images](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/15-images.md): The library can define and extract images from XLSX files. - [Sheet Metadata](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/16-sheet-metadata.md): Every sheet in your XLSX file can contain a set of data validation rules. To retrieve them, you can imply call getDataValidations on your sheet - [CSV Parsing in FastExcelReader](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/20-csv.md): A fast and efficient CSV reader for PHP, integrated into the fast-excel-reader package. It supports various encodings, automatic delimiter detection, and large file processing. - [Reading XLS (Excel 97-2003) in FastExcelReader](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/21-xls.md): FastExcelReader reads legacy .xls workbooks (BIFF8, written by Excel 97-2003) with the same API used for XLSX. Values, dates, cell styles, formula text and images all come back in exactly th - [FastExcelReader - API Reference](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/90-api-reference.md) - [Class \\avadim\\FastExcelReader\\Excel](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/91-api-class-excel.md): Converts an alphabetic column index to a numeric - [Class \\avadim\\FastExcelReader\\Sheet](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/92-api-class-sheet.md): Get the actual dimension range (e.g. "A1:C10") - [Class \\avadim\\FastExcelReader\\Csv\\CsvReader](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/94-api-class-csv-reader.md): Get line from CSV file as array of fields (null - empty field, false - EOF) - [Class \\avadim\\FastExcelReader\\Csv\\CsvOptions](https://raw.githubusercontent.com/aVadim483/fast-excel-reader/dd0d48d35e0fb41983043ed0ccfffa6de5ddfa07/docs/95-api-class-csv-options.md): Allow binary input instead of rejecting it ## FastExcelWriter 6.19.2 - [Documentation on this site](https://fast-excel-php.com/docs/writer/6.19.2): Create XLSX files with formatting, formulas and charts. - [FastExcelWriter](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/index.md): Lightweight, powerful and very fast XLSX Spreadsheet Writer in pure PHP. This library is designed to be superfast and requires minimal memory usage. - [FastExcelWriter – Workbook](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/01-workbook.md): Instead of an array of options, you can pass an instance of the Options class to Excel::create() — it has a fluent interface - [FastExcelWriter – Sheets](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/02-sheets.md): You can set row options (styles and height) by the second argument when you use the function writeRow(). Note that in this case these styles will only be applied to those cells in the row wh - [FastExcelWriter – Writing](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/03-writing.md): writeIterable(iterable $rows, ?array $rowStyle = null) accepts arrays, generators and Traversable objects. Rows are consumed once, in iteration order; iterator keys are ignored. The method d - [FastExcelWriter – Styles](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/04-styles.md): You can set styles for the entire workbook, for sheets, for individual cells, as well as for rows and columns. The style of each cell can be determined by the combination of all these styles - [FastExcelWriter – Charts (since v.5.0)](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/05-charts.md): You can insert charts to generated spreadsheets (You can find usage examples below or in /demo folder) - [FastExcelWriter – Protection](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/06-protection.md): There are three levels of data protection in Excel spreadsheets: - [FastExcelWriter – Data Validation (since v.6.0)](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/07-validation.md): Data validation allows setting an input filter on the data that can be inserted in a specific cell. The library allows you to set the following types of filters: - [FastExcelWriter – Conditional Formatting (since v.6.4)](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/08-conditional.md): Conditional Formatting allows formatting options to be set based on the value of a cell. It can be applied to individual cells or to a range of cells. - [FastExcelWriter – Upgrade Guide](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/09-upgrade.md): This page describes important changes between major versions that may require updating your code. - [FastExcelWriter - API Reference](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/90-api-reference.md) - [Class \\avadim\\FastExcelWriter\\Excel](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/91-api-class-excel.md): Create cell address by row and col numbers - [Class \\avadim\\FastExcelWriter\\Options](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/91-api-class-options.md) - [Class \\avadim\\FastExcelWriter\\Sheet](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/92-api-class-sheet.md): Add a chart object to the specified range of cells - [Class \\avadim\\FastExcelWriter\\RichText\\RichText](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/93-api-class-rich-text.md): Set bold font for the last added fragment - [Class \\avadim\\FastExcelWriter\\RichText\\RichTextFragment](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/93-api-class-rich-text-fragment.md) - [Class \\avadim\\FastExcelWriter\\Charts\\Chart](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/94-api-class-chart.md): Add data series of specific type (used for combo charts) - [Class \\avadim\\FastExcelWriter\\DataValidation\\DataValidation](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/95-api-class-data-validation.md): Make data validation as an expression (alias of self::custom()) - [Class \\avadim\\FastExcelWriter\\Conditional\\Conditional](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/96-api-class-conditional.md): Applies a style if the cell value starts with the specified text - [Class \\avadim\\FastExcelWriter\\Style\\ImageStyle](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/97-api-class-image-style.md): Set offset in pixels relative to the left and top borders of the cell - [Class \\avadim\\FastExcelWriter\\Style\\Style](https://raw.githubusercontent.com/aVadim483/fast-excel-writer/060868443b47f979a9f16564849eed0fcba2d7ef/docs/97-api-class-style.md): Center content by horizontal and vertical ## FastExcelTemplator 3.4.0 - [Documentation on this site](https://fast-excel-php.com/docs/templator/3.4.0): Generate documents from existing XLSX templates. - [FastExcelTemplator](https://raw.githubusercontent.com/aVadim483/fast-excel-templator/4de0b134d9bd479eac7a7c0d7a17b113ba5c2cc2/README.md): FastExcelTemplator is a part of the FastExcelPhp Project which consists of - [XLSX feature preservation](https://raw.githubusercontent.com/aVadim483/fast-excel-templator/4de0b134d9bd479eac7a7c0d7a17b113ba5c2cc2/XLSX_SUPPORT.md): XLSX using the SpreadsheetML Transitional namespace is supported. The template ZIP is copied, sheet data is regenerated, and worksheet metadata is retained in a separate streaming pass. Only - [FastExcelTemplator - API Reference](https://raw.githubusercontent.com/aVadim483/fast-excel-templator/4de0b134d9bd479eac7a7c0d7a17b113ba5c2cc2/docs/90-api-reference.md) - [Class \\avadim\\FastExcelTemplator\\Excel](https://raw.githubusercontent.com/aVadim483/fast-excel-templator/4de0b134d9bd479eac7a7c0d7a17b113ba5c2cc2/docs/91-api-class-excel.md): Converts an alphabetic column index to a numeric - [Class \\avadim\\FastExcelTemplator\\SheetTemplate](https://raw.githubusercontent.com/aVadim483/fast-excel-templator/4de0b134d9bd479eac7a7c0d7a17b113ba5c2cc2/docs/92-api-class-sheet-template.md): Get the actual dimension range (e.g. "A1:C10")Note: scans every cell of the sheet (see countActualDimension()); expensive on wide sheets. - [Class \\avadim\\FastExcelTemplator\\RowTemplate](https://raw.githubusercontent.com/aVadim483/fast-excel-templator/4de0b134d9bd479eac7a7c0d7a17b113ba5c2cc2/docs/93-api-class-row-template.md): Append a source cell to the end of the row - [Class \\avadim\\FastExcelTemplator\\RowTemplateCollection](https://raw.githubusercontent.com/aVadim483/fast-excel-templator/4de0b134d9bd479eac7a7c0d7a17b113ba5c2cc2/docs/94-api-class-row-template-collection.md): Clone cell in all row templates of the collection ## FastExcelLaravel 4.3.0 - [Documentation on this site](https://fast-excel-php.com/docs/laravel/4.3.0): Import and export Excel files in Laravel applications. - [FastExcelLaravel](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/README.md): Lightweight and very fast XLSX Excel Spreadsheet read/write library for Laravel in pure PHP (wrapper around FastExcelWriter and FastExcelReader) - [Reading legacy XLS files](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/80-reading-xls.md): Since the reader dependency avadim/fast-excel-reader ^4.0, this package reads the legacy binary XLS format (Excel 97-2003, BIFF8) in addition to XLSX. - [Reading CSV files](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/81-reading-csv.md): Since the reader dependency avadim/fast-excel-reader ^4.3, this package reads CSV files in addition to XLSX and legacy XLS. - [Reading from a string or a stream](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/82-reading-from-memory.md): A workbook does not have to be a file on the local disk. Besides \Excel::open() the package provides two more entry points for import: - [FastExcelLaravel - API Reference](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/90-api-reference.md): These API pages are maintained by hand. There is no doc generator in the project — when a public method of a class changes, update the corresponding page manually. (The reader wrapper classe - [Class \\avadim\\FastExcelLaravel\\Excel](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/91-api-class-excel.md): Open an existing workbook (XLSX or legacy XLS) for import. The format is detected automatically from the file signature, so the file extension does not matter. - [Class \\avadim\\FastExcelLaravel\\ExcelWriter](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/92-api-class-excelwriter.md): Create cell address by row and col numbers - [Class \\avadim\\FastExcelLaravel\\SheetWriter](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/93-api-class-sheetwriter.md): Add a chart object to the specified range of cells - [Class \\avadim\\FastExcelLaravel\\ExcelReader](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/94-api-class-excelreader.md): ExcelReader is a thin Laravel wrapper around a FastExcelReader book. It does not extend a concrete reader; instead it composes an avadim\FastExcelReader\AbstractBook and adds the Eloquent-aw - [Class \\avadim\\FastExcelLaravel\\SheetReader](https://raw.githubusercontent.com/aVadim483/fast-excel-laravel/2d73434bbea3cbb6c6195bc3c704a768964b239e/docs/95-api-class-sheetreader.md): SheetReader is a thin Laravel wrapper around a FastExcelReader sheet. It does not extend a concrete sheet; instead it composes an avadim\FastExcelReader\AbstractSheet and adds the Eloquent-a ## Optional - [Public articles API](https://fast-excel-php.com/api/posts): Paginated JSON containing only published articles whose publication date has arrived. - [RSS feed](https://fast-excel-php.com/feed): Recent published articles. - [Sitemap](https://fast-excel-php.com/sitemap.xml): Public site pages. - [Русский](https://dev.avadim.ru/llms.txt): Russian documentation and blog.