├── Examples
├── .gitignore
├── OOCalcTest.ods
├── Quadratic.xlsx
├── images
│ ├── paid.png
│ ├── officelogo.jpg
│ ├── phpexcel_logo.gif
│ └── termsconditions.jpg
├── GnumericTest.gnumeric
├── templates
│ ├── 26template.xlsx
│ ├── 27template.xls
│ ├── 30template.xls
│ ├── 43mergeBook1.xlsx
│ ├── 43mergeBook2.xlsx
│ ├── 31docproperties.xls
│ ├── 31docproperties.xlsx
│ ├── 32chartreadwrite.xlsx
│ ├── 36writeLineChart1.xlsx
│ ├── 32readwriteBarChart1.xlsx
│ ├── 32readwriteBarChart2.xlsx
│ ├── 32readwriteBarChart3.xlsx
│ ├── 32readwritePieChart1.xlsx
│ ├── 32readwritePieChart2.xlsx
│ ├── 32readwritePieChart3.xlsx
│ ├── 32readwritePieChart4.xlsx
│ ├── 32complexChartreadwrite.xlsx
│ ├── 32readwriteAreaChart1.xlsx
│ ├── 32readwriteAreaChart2.xlsx
│ ├── 32readwriteAreaChart3.xlsx
│ ├── 32readwriteAreaChart3D1.xlsx
│ ├── 32readwriteBarChart3D1.xlsx
│ ├── 32readwriteBubbleChart1.xlsx
│ ├── 32readwriteColumnChart1.xlsx
│ ├── 32readwriteColumnChart2.xlsx
│ ├── 32readwriteColumnChart3.xlsx
│ ├── 32readwriteColumnChart4.xlsx
│ ├── 32readwriteDonutChart1.xlsx
│ ├── 32readwriteDonutChart2.xlsx
│ ├── 32readwriteDonutChart3.xlsx
│ ├── 32readwriteDonutChart4.xlsx
│ ├── 32readwriteLineChart1.xlsx
│ ├── 32readwriteLineChart2.xlsx
│ ├── 32readwriteLineChart3.xlsx
│ ├── 32readwriteLineChart3D1.xlsx
│ ├── 32readwritePieChart3D1.xlsx
│ ├── 32readwriteRadarChart1.xlsx
│ ├── 32readwriteRadarChart2.xlsx
│ ├── 32readwriteRadarChart3.xlsx
│ ├── 32readwriteStockChart1.xlsx
│ ├── 32readwriteStockChart2.xlsx
│ ├── 32readwriteStockChart3.xlsx
│ ├── 32readwriteStockChart4.xlsx
│ ├── 32readwriteBubbleChart3D1.xlsx
│ ├── 32readwriteColumnChart3D1.xlsx
│ ├── 32readwriteScatterChart1.xlsx
│ ├── 32readwriteScatterChart2.xlsx
│ ├── 32readwriteScatterChart3.xlsx
│ ├── 32readwriteScatterChart4.xlsx
│ ├── 32readwriteScatterChart5.xlsx
│ ├── 32readwriteSurfaceChart1.xlsx
│ ├── 32readwriteSurfaceChart2.xlsx
│ ├── 32readwriteSurfaceChart3.xlsx
│ ├── 32readwriteSurfaceChart4.xlsx
│ ├── 32readwriteAreaStackedChart1.xlsx
│ ├── 32readwriteAreaStackedChart2.xlsx
│ ├── 32readwriteBarStackedChart1.xlsx
│ ├── 32readwriteBarStackedChart2.xlsx
│ ├── 32readwriteChartWithImages1.xlsx
│ ├── 32readwriteLineStackedChart1.xlsx
│ ├── 32readwriteLineStackedChart2.xlsx
│ ├── 32readwritePieChartExploded1.xlsx
│ ├── 32readwriteAreaStackedChart3D1.xlsx
│ ├── 32readwriteBarPercentageChart1.xlsx
│ ├── 32readwriteBarPercentageChart2.xlsx
│ ├── 32readwriteBarStackedChart3D1.xlsx
│ ├── 32readwriteColumnStackedChart1.xlsx
│ ├── 32readwriteColumnStackedChart2.xlsx
│ ├── 32readwriteDonutChartExploded1.xlsx
│ ├── 32readwritePieChartExploded3D1.xlsx
│ ├── 32readwriteAreaPercentageChart1.xlsx
│ ├── 32readwriteAreaPercentageChart2.xlsx
│ ├── 32readwriteAreaPercentageChart3D1.xlsx
│ ├── 32readwriteBarPercentageChart3D1.xlsx
│ ├── 32readwriteColumnPercentageChart1.xlsx
│ ├── 32readwriteColumnPercentageChart2.xlsx
│ ├── 32readwriteColumnStackedChart3D1.xlsx
│ ├── 32readwriteDonutChartMultiseries1.xlsx
│ ├── 32readwriteLinePercentageChart1.xlsx
│ ├── 32readwriteLinePercentageChart2.xlsx
│ ├── 32readwriteColumnPercentageChart3D1.xlsx
│ └── 32readwriteLineChartNoPointMarkers1.xlsx
├── data
│ └── continents
│ │ ├── South America.txt
│ │ ├── Oceania.txt
│ │ ├── North America.txt
│ │ ├── Asia.txt
│ │ ├── Europe.txt
│ │ └── Africa.txt
├── 40duplicateStyle.php
├── SylkReader.php
├── 44worksheetInfo.php
├── OOCalcReader.php
├── GnumericReader.php
├── XMLReader.php
├── 14excel5.php
└── Excel2003XMLReader.php
├── .gitattributes
├── Documentation
├── Functionality Cross-Reference.xls
├── markdown
│ ├── Overview
│ │ ├── 06-Worksheets.md
│ │ ├── 11-Appendices.md
│ │ ├── images
│ │ │ ├── 01-schematic.png
│ │ │ ├── 08-cell-comment.png
│ │ │ ├── 08-column-width.png
│ │ │ ├── 02-readers-writers.png
│ │ │ ├── 07-simple-example-1.png
│ │ │ ├── 07-simple-example-2.png
│ │ │ ├── 07-simple-example-3.png
│ │ │ ├── 07-simple-example-4.png
│ │ │ ├── 08-page-setup-margins.png
│ │ │ ├── 09-formula-in-cell-1.png
│ │ │ ├── 09-formula-in-cell-2.png
│ │ │ ├── 08-styling-border-options.png
│ │ │ ├── 08-page-setup-scaling-options.png
│ │ │ └── 09-command-line-calculation.png
│ │ ├── 05-Deleting-a-Workbook.md
│ │ └── 03-Creating-a-Spreadsheet.md
│ ├── Features
│ │ └── Autofilters
│ │ │ ├── images
│ │ │ ├── 01-01-autofilter.png
│ │ │ ├── 01-02-autofilter.png
│ │ │ ├── 01-04-autofilter.png
│ │ │ ├── 01-03-filter-icon-1.png
│ │ │ ├── 01-03-filter-icon-2.png
│ │ │ ├── 04-01-simple-autofilter.png
│ │ │ ├── 04-04-dynamic-autofilter.png
│ │ │ ├── 04-02-dategroup-autofilter.png
│ │ │ ├── 04-03-custom-autofilter-1.png
│ │ │ ├── 04-03-custom-autofilter-2.png
│ │ │ ├── 04-05-topten-autofilter-1.png
│ │ │ └── 04-05-topten-autofilter-2.png
│ │ │ ├── 06-Autofilter-Sorting.md
│ │ │ ├── 02-Setting-an-Autofilter.md
│ │ │ ├── 03-Autofilter-Expressions.md
│ │ │ ├── 04-02-Autofilter-Expressions-Dategroup.md
│ │ │ ├── 05-Executing-Autofilters.md
│ │ │ ├── 01-Autofilters.md
│ │ │ └── 04-01-Autofilter-Expressions-Simple.md
│ ├── CalculationEngine
│ │ └── FunctionReference
│ │ │ ├── 03-01-Cube-Functions.md
│ │ │ ├── 01-Introduction.md
│ │ │ └── 02-General-Introduction.md
│ └── ReadingSpreadsheetFiles
│ │ ├── 02-Security.md
│ │ ├── 06-Error-Handling.md
│ │ ├── 03-Loading-a-Spreadsheet.md
│ │ └── 07-Helper-Methods.md
├── PHPExcel developer documentation.doc
├── assets
│ └── ClassDiagrams
│ │ ├── Architecture.png
│ │ ├── ReaderWriter.png
│ │ ├── Exports
│ │ ├── Architecture.png
│ │ └── ReaderWriter.png
│ │ ├── ClassDiagrams.csproj.user
│ │ ├── Classes
│ │ ├── Worksheet.cs
│ │ ├── IReader.cs
│ │ ├── IWriter.cs
│ │ ├── PHPExcel_Reader_Excel2007.cs
│ │ ├── PHPExcel_Writer_Excel2007.cs
│ │ ├── PHPExcel.cs
│ │ ├── PHPExcel_IOFactory.cs
│ │ ├── PHPExcel_Reader_Serialized.cs
│ │ ├── PHPExcel_Reader_Excel5.cs
│ │ └── PHPExcel_Writer_Serialized.cs
│ │ ├── ClassDiagrams.sln
│ │ └── Architecture.cd
├── Examples
│ ├── Reader
│ │ ├── sampleData
│ │ │ ├── example1.xls
│ │ │ ├── example2.csv
│ │ │ ├── example2.xls
│ │ │ ├── example1.csv
│ │ │ └── example1.tsv
│ │ ├── exampleReader01.php
│ │ ├── exampleReader16.php
│ │ ├── exampleReader04.php
│ │ ├── exampleReader18.php
│ │ ├── exampleReader02.php
│ │ ├── exampleReader03.php
│ │ ├── exampleReader05.php
│ │ ├── exampleReader19.php
│ │ ├── exampleReader17.php
│ │ ├── exampleReader06.php
│ │ ├── exampleReader07.php
│ │ ├── exampleReader08.php
│ │ ├── exampleReader09.php
│ │ ├── exampleReader13.php
│ │ └── exampleReader10.php
│ ├── Reading WorkBook Data
│ │ ├── sampleData
│ │ │ ├── example1.xls
│ │ │ ├── example1.xlsx
│ │ │ └── example2.xls
│ │ ├── exampleWorkBookReader02.php
│ │ ├── exampleWorkBookReader04.php
│ │ └── exampleWorkBookReader03.php
│ ├── index.php
│ └── Calculations
│ │ ├── index.php
│ │ └── DateTime
│ │ ├── TIMEVALUE.php
│ │ ├── DATEVALUE.php
│ │ └── TIME.php
├── PHPExcel Function Reference developer documentation.doc
├── PHPExcel AutoFilter Reference developer documentation.doc
└── PHPExcel User Documentation - Reading Spreadsheet Files.doc
├── .gitignore
├── Classes
└── PHPExcel
│ ├── Chart
│ ├── Renderer
│ │ └── PHP Charting Libraries.txt
│ ├── Exception.php
│ └── Title.php
│ ├── Shared
│ ├── JAMA
│ │ ├── CHANGELOG.TXT
│ │ └── utils
│ │ │ └── Maths.php
│ ├── Escher
│ │ ├── DggContainer
│ │ │ ├── BstoreContainer.php
│ │ │ └── BstoreContainer
│ │ │ │ └── BSE
│ │ │ │ └── Blip.php
│ │ └── DgContainer.php
│ └── Escher.php
│ ├── Reader
│ ├── Excel5
│ │ ├── ErrorCode.php
│ │ ├── Color
│ │ │ ├── BuiltIn.php
│ │ │ ├── BIFF5.php
│ │ │ └── BIFF8.php
│ │ ├── Color.php
│ │ └── Style
│ │ │ ├── Border.php
│ │ │ └── FillPattern.php
│ ├── IReadFilter.php
│ ├── IReader.php
│ ├── Exception.php
│ └── DefaultReadFilter.php
│ ├── locale
│ ├── en
│ │ └── uk
│ │ │ └── config
│ ├── bg
│ │ └── config
│ ├── cs
│ │ └── config
│ ├── de
│ │ └── config
│ ├── fr
│ │ └── config
│ ├── it
│ │ └── config
│ ├── no
│ │ └── config
│ ├── pt
│ │ ├── config
│ │ └── br
│ │ │ └── config
│ ├── ru
│ │ └── config
│ ├── tr
│ │ └── config
│ ├── nl
│ │ └── config
│ ├── pl
│ │ └── config
│ ├── hu
│ │ └── config
│ ├── da
│ │ └── config
│ ├── sv
│ │ └── config
│ ├── fi
│ │ └── config
│ └── es
│ │ └── config
│ ├── IComparable.php
│ ├── Writer
│ ├── OpenDocument
│ │ ├── WriterPart.php
│ │ ├── Mimetype.php
│ │ └── Thumbnails.php
│ ├── IWriter.php
│ └── Exception.php
│ ├── Calculation
│ ├── ExceptionHandler.php
│ └── Exception.php
│ ├── Cell
│ └── IValueBinder.php
│ ├── RichText
│ └── ITextElement.php
│ └── Exception.php
├── .travis.yml
└── composer.json
/Examples/.gitignore:
--------------------------------------------------------------------------------
1 | *.xls
2 | *.xlsx
3 | *.csv
4 | *.jpg
5 | *.pdf
6 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | /Build export-ignore
2 | /unitTests export-ignore
3 | README.md export-ignore
4 |
--------------------------------------------------------------------------------
/Examples/OOCalcTest.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/OOCalcTest.ods
--------------------------------------------------------------------------------
/Examples/Quadratic.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/Quadratic.xlsx
--------------------------------------------------------------------------------
/Examples/images/paid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/images/paid.png
--------------------------------------------------------------------------------
/Examples/GnumericTest.gnumeric:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/GnumericTest.gnumeric
--------------------------------------------------------------------------------
/Examples/images/officelogo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/images/officelogo.jpg
--------------------------------------------------------------------------------
/Examples/images/phpexcel_logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/images/phpexcel_logo.gif
--------------------------------------------------------------------------------
/Examples/templates/26template.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/26template.xlsx
--------------------------------------------------------------------------------
/Examples/templates/27template.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/27template.xls
--------------------------------------------------------------------------------
/Examples/templates/30template.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/30template.xls
--------------------------------------------------------------------------------
/Examples/images/termsconditions.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/images/termsconditions.jpg
--------------------------------------------------------------------------------
/Examples/templates/43mergeBook1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/43mergeBook1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/43mergeBook2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/43mergeBook2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/31docproperties.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/31docproperties.xls
--------------------------------------------------------------------------------
/Examples/templates/31docproperties.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/31docproperties.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32chartreadwrite.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32chartreadwrite.xlsx
--------------------------------------------------------------------------------
/Examples/templates/36writeLineChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/36writeLineChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwritePieChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwritePieChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwritePieChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwritePieChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwritePieChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwritePieChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwritePieChart4.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwritePieChart4.xlsx
--------------------------------------------------------------------------------
/Documentation/Functionality Cross-Reference.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/Functionality Cross-Reference.xls
--------------------------------------------------------------------------------
/Examples/templates/32complexChartreadwrite.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32complexChartreadwrite.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBubbleChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBubbleChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnChart4.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnChart4.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteDonutChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteDonutChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteDonutChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteDonutChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteDonutChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteDonutChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteDonutChart4.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteDonutChart4.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLineChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLineChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLineChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLineChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLineChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLineChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLineChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLineChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwritePieChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwritePieChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteRadarChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteRadarChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteRadarChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteRadarChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteRadarChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteRadarChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteStockChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteStockChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteStockChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteStockChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteStockChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteStockChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteStockChart4.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteStockChart4.xlsx
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/06-Worksheets.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/06-Worksheets.md
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/11-Appendices.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/11-Appendices.md
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBubbleChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBubbleChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteScatterChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteScatterChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteScatterChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteScatterChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteScatterChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteScatterChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteScatterChart4.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteScatterChart4.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteScatterChart5.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteScatterChart5.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteSurfaceChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteSurfaceChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteSurfaceChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteSurfaceChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteSurfaceChart3.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteSurfaceChart3.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteSurfaceChart4.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteSurfaceChart4.xlsx
--------------------------------------------------------------------------------
/Documentation/PHPExcel developer documentation.doc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/PHPExcel developer documentation.doc
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/assets/ClassDiagrams/Architecture.png
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/ReaderWriter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/assets/ClassDiagrams/ReaderWriter.png
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaStackedChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaStackedChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaStackedChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaStackedChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarStackedChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarStackedChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarStackedChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarStackedChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteChartWithImages1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteChartWithImages1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLineStackedChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLineStackedChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLineStackedChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLineStackedChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwritePieChartExploded1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwritePieChartExploded1.xlsx
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/sampleData/example1.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/Examples/Reader/sampleData/example1.xls
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/sampleData/example2.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/Examples/Reader/sampleData/example2.csv
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/sampleData/example2.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/Examples/Reader/sampleData/example2.xls
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaStackedChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaStackedChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarPercentageChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarPercentageChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarPercentageChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarPercentageChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarStackedChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarStackedChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnStackedChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnStackedChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnStackedChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnStackedChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteDonutChartExploded1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteDonutChartExploded1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwritePieChartExploded3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwritePieChartExploded3D1.xlsx
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | build/PHPExcel.phar
2 | unitTests/codeCoverage
3 | analysis
4 |
5 | ## IDE support
6 | *.buildpath
7 | *.project
8 | /.settings
9 | /.idea
10 |
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/01-schematic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/01-schematic.png
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaPercentageChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaPercentageChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaPercentageChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaPercentageChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteAreaPercentageChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteAreaPercentageChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteBarPercentageChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteBarPercentageChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnPercentageChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnPercentageChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnPercentageChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnPercentageChart2.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnStackedChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnStackedChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteDonutChartMultiseries1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteDonutChartMultiseries1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLinePercentageChart1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLinePercentageChart1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLinePercentageChart2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLinePercentageChart2.xlsx
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Exports/Architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/assets/ClassDiagrams/Exports/Architecture.png
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Exports/ReaderWriter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/assets/ClassDiagrams/Exports/ReaderWriter.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/08-cell-comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/08-cell-comment.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/08-column-width.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/08-column-width.png
--------------------------------------------------------------------------------
/Examples/templates/32readwriteColumnPercentageChart3D1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteColumnPercentageChart3D1.xlsx
--------------------------------------------------------------------------------
/Examples/templates/32readwriteLineChartNoPointMarkers1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Examples/templates/32readwriteLineChartNoPointMarkers1.xlsx
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/02-readers-writers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/02-readers-writers.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/07-simple-example-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/07-simple-example-1.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/07-simple-example-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/07-simple-example-2.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/07-simple-example-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/07-simple-example-3.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/07-simple-example-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/07-simple-example-4.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/08-page-setup-margins.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/08-page-setup-margins.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/09-formula-in-cell-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/09-formula-in-cell-1.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/09-formula-in-cell-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/09-formula-in-cell-2.png
--------------------------------------------------------------------------------
/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xls
--------------------------------------------------------------------------------
/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xlsx
--------------------------------------------------------------------------------
/Documentation/Examples/Reading WorkBook Data/sampleData/example2.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/Examples/Reading WorkBook Data/sampleData/example2.xls
--------------------------------------------------------------------------------
/Documentation/PHPExcel Function Reference developer documentation.doc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/PHPExcel Function Reference developer documentation.doc
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/08-styling-border-options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/08-styling-border-options.png
--------------------------------------------------------------------------------
/Documentation/PHPExcel AutoFilter Reference developer documentation.doc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/PHPExcel AutoFilter Reference developer documentation.doc
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/01-01-autofilter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/01-01-autofilter.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/01-02-autofilter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/01-02-autofilter.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/01-04-autofilter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/01-04-autofilter.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/08-page-setup-scaling-options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/08-page-setup-scaling-options.png
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/images/09-command-line-calculation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Overview/images/09-command-line-calculation.png
--------------------------------------------------------------------------------
/Documentation/PHPExcel User Documentation - Reading Spreadsheet Files.doc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/PHPExcel User Documentation - Reading Spreadsheet Files.doc
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-1.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-2.png
--------------------------------------------------------------------------------
/Examples/data/continents/South America.txt:
--------------------------------------------------------------------------------
1 | Argentina
2 | Bolivia
3 | Brazil
4 | Chile
5 | Colombia
6 | Ecuador
7 | Guyana
8 | Paraguay
9 | Peru
10 | Suriname
11 | Uruguay
12 | Venezuela
13 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/04-01-simple-autofilter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/04-01-simple-autofilter.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/04-04-dynamic-autofilter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/04-04-dynamic-autofilter.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/04-02-dategroup-autofilter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/04-02-dategroup-autofilter.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-1.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-2.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-1.png
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHPOffice/PHPExcel/HEAD/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-2.png
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/ClassDiagrams.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 | ShowAllFiles
4 |
5 |
--------------------------------------------------------------------------------
/Examples/data/continents/Oceania.txt:
--------------------------------------------------------------------------------
1 | Australia
2 | Fiji
3 | Kiribati
4 | Marshall Islands
5 | Micronesia
6 | Nauru
7 | New Zealand
8 | Palau
9 | Papua New Guinea
10 | Samoa
11 | Solomon Islands
12 | Tonga
13 | Tuvalu
14 | Vanuatu
15 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/06-Autofilter-Sorting.md:
--------------------------------------------------------------------------------
1 | # PHPExcel AutoFilter Reference
2 |
3 |
4 | ## AutoFilter Sorting
5 |
6 | In MS Excel, Autofiltering also allows the rows to be sorted. This feature is ***not*** supported by PHPExcel.
7 |
8 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/Worksheet.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class Worksheet
8 | {
9 | }
10 |
11 | public class CopyOfWorksheet
12 | {
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/sampleData/example1.csv:
--------------------------------------------------------------------------------
1 | First Name,Last Name,Nationality,Gender,Date of Birth,Time of Birth,Date/Time,PHP Coder,Sanity %Age
2 | Mark,Baker,British,M,19-Dec-1960,01:30,=E2+F2,TRUE,32%
3 | Toni,Baker,British,F,24-Nov-1950,20:00,=E3+F3,FALSE,95%
4 | Rachel,Baker,British,F,7-Dec-1982,00:15,=E4+F4,FALSE,100%
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/sampleData/example1.tsv:
--------------------------------------------------------------------------------
1 | First Name Last Name Nationality Gender Date of Birth Time of Birth Date/Time PHP Coder Sanity %Age
2 | Mark Baker British M 19-Dec-1960 01:30 =E2+F2 TRUE 32%
3 | Toni Baker British F 24-Nov-1950 20:00 =E3+F3 FALSE 95%
4 | Rachel Baker British F 7-Dec-1982 00:15 =E4+F4 FALSE 100%
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/IReader.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public interface PHPExcel_Reader_IReader
8 | {
9 | PHPExcel reads
10 | {
11 | get;
12 | set;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/IWriter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public interface PHPExcel_Writer_IWriter
8 | {
9 | PHPExcel writes
10 | {
11 | get;
12 | set;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Examples/data/continents/North America.txt:
--------------------------------------------------------------------------------
1 | Antigua and Barbuda
2 | Bahamas
3 | Barbados
4 | Belize
5 | Canada
6 | Costa Rica
7 | Cuba
8 | Dominica
9 | Dominican Republic
10 | El Salvador
11 | Grenada
12 | Guatemala
13 | Haiti
14 | Honduras
15 | Jamaica
16 | Mexico
17 | Nicaragua
18 | Panama
19 | Saint Kitts and Nevis
20 | Saint Lucia
21 | Saint Vincent and the Grenadines
22 | Trinidad and Tobago
23 | United States
24 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt:
--------------------------------------------------------------------------------
1 | ChartDirector
2 | http://www.advsofteng.com/cdphp.html
3 |
4 | GraPHPite
5 | http://graphpite.sourceforge.net/
6 |
7 | JpGraph
8 | http://www.aditus.nu/jpgraph/
9 |
10 | LibChart
11 | http://naku.dohcrew.com/libchart/pages/introduction/
12 |
13 | pChart
14 | http://pchart.sourceforge.net/
15 |
16 | TeeChart
17 | http://www.steema.com/products/teechart/overview.html
18 |
19 | PHPGraphLib
20 | http://www.ebrueggeman.com/phpgraphlib
--------------------------------------------------------------------------------
/Classes/PHPExcel/Shared/JAMA/CHANGELOG.TXT:
--------------------------------------------------------------------------------
1 | Mar 1, 2005 11:15 AST by PM
2 |
3 | + For consistency, renamed Math.php to Maths.java, utils to util,
4 | tests to test, docs to doc -
5 |
6 | + Removed conditional logic from top of Matrix class.
7 |
8 | + Switched to using hypo function in Maths.php for all php-hypot calls.
9 | NOTE TO SELF: Need to make sure that all decompositions have been
10 | switched over to using the bundled hypo.
11 |
12 | Feb 25, 2005 at 10:00 AST by PM
13 |
14 | + Recommend using simpler Error.php instead of JAMA_Error.php but
15 | can be persuaded otherwise.
16 |
17 |
--------------------------------------------------------------------------------
/Documentation/markdown/CalculationEngine/FunctionReference/03-01-Cube-Functions.md:
--------------------------------------------------------------------------------
1 | # Calculation Engine - Formula Function Reference
2 |
3 | ## Function Reference
4 |
5 | ### Cube Functions
6 |
7 | #### CUBEKPIMEMBER
8 |
9 | Not yet implemented.
10 |
11 | #### CUBEMEMBER
12 |
13 | Not yet implemented.
14 |
15 | #### CUBEMEMBERPROPERTY
16 |
17 | Not yet implemented.
18 |
19 | #### CUBERANKEDMEMBER
20 |
21 | Not yet implemented.
22 |
23 | #### CUBESET
24 |
25 | Not yet implemented.
26 |
27 | #### CUBESETCOUNT
28 |
29 | Not yet implemented.
30 |
31 | #### CUBEVALUE
32 |
33 | Not yet implemented.
34 |
35 |
--------------------------------------------------------------------------------
/Examples/data/continents/Asia.txt:
--------------------------------------------------------------------------------
1 | Afghanistan
2 | Bahrain
3 | Bangladesh
4 | Bhutan
5 | Brunei
6 | Burma (Myanmar)
7 | Cambodia
8 | China
9 | East Timor
10 | India
11 | Indonesia
12 | Iran
13 | Iraq
14 | Israel
15 | Japan
16 | Jordan
17 | Kazakhstan
18 | Korea, North
19 | Korea, South
20 | Kuwait
21 | Kyrgyzstan
22 | Laos
23 | Lebanon
24 | Malaysia
25 | Maldives
26 | Mongolia
27 | Nepal
28 | Oman
29 | Pakistan
30 | Philippines
31 | Qatar
32 | Russian Federation
33 | Saudi Arabia
34 | Singapore
35 | Sri Lanka
36 | Syria
37 | Tajikistan
38 | Thailand
39 | Turkey
40 | Turkmenistan
41 | United Arab Emirates
42 | Uzbekistan
43 | Vietnam
44 | Yemen
45 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | php:
4 | - 5.4
5 | - 5.5
6 | - 5.6
7 | - 7.0
8 | - hhvm
9 |
10 | matrix:
11 | allow_failures:
12 | - php: hhvm
13 |
14 | before_script:
15 | ## Packages
16 | - sudo apt-get -qq update > /dev/null
17 | ## Composer
18 | - composer self-update
19 | - composer install --prefer-source --dev
20 | - phpenv global "$TRAVIS_PHP_VERSION"
21 |
22 | script:
23 | ## PHP_CodeSniffer
24 | - ./vendor/bin/phpcs --report-width=200 --report-summary --report-full Classes/ unitTests/ --standard=PSR2 -n
25 | ## PHPUnit
26 | - phpunit -c ./unitTests/
27 |
28 | notifications:
29 | email: false
30 |
--------------------------------------------------------------------------------
/Examples/data/continents/Europe.txt:
--------------------------------------------------------------------------------
1 | Albania
2 | Andorra
3 | Armenia
4 | Austria
5 | Azerbaijan
6 | Belarus
7 | Belgium
8 | Bosnia and Herzegovina
9 | Bulgaria
10 | Croatia
11 | Cyprus
12 | Czech Republic
13 | Denmark
14 | Estonia
15 | Finland
16 | France
17 | Georgia
18 | Germany
19 | Greece
20 | Hungary
21 | Iceland
22 | Ireland
23 | Italy
24 | Latvia
25 | Liechtenstein
26 | Lithuania
27 | Luxembourg
28 | Macedonia
29 | Malta
30 | Moldova
31 | Monaco
32 | Montenegro
33 | Netherlands
34 | Norway
35 | Poland
36 | Portugal
37 | Romania
38 | San Marino
39 | Serbia
40 | Slovakia
41 | Slovenia
42 | Spain
43 | Sweden
44 | Switzerland
45 | Ukraine
46 | United Kingdom
47 | Vatican City
48 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/Excel5/ErrorCode.php:
--------------------------------------------------------------------------------
1 | '#NULL!',
7 | 0x07 => '#DIV/0!',
8 | 0x0F => '#VALUE!',
9 | 0x17 => '#REF!',
10 | 0x1D => '#NAME?',
11 | 0x24 => '#NUM!',
12 | 0x2A => '#N/A',
13 | );
14 |
15 | /**
16 | * Map error code, e.g. '#N/A'
17 | *
18 | * @param int $code
19 | * @return string
20 | */
21 | public static function lookup($code)
22 | {
23 | if (isset(self::$map[$code])) {
24 | return self::$map[$code];
25 | }
26 | return false;
27 | }
28 | }
--------------------------------------------------------------------------------
/Documentation/markdown/CalculationEngine/FunctionReference/01-Introduction.md:
--------------------------------------------------------------------------------
1 | # Calculation Engine - Formula Function Reference
2 |
3 | ## Frequently asked questions
4 |
5 | The up-to-date F.A.Q. page for PHPExcel can be found on [http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=FAQ&referringTitle=Requirements][1].
6 |
7 | ### Formulas don’t seem to be calculated in Excel2003 using compatibility pack?
8 |
9 | This is normal behaviour of the compatibility pack, Excel2007 displays this correctly. Use PHPExcel_Writer_Excel5 if you really need calculated values, or force recalculation in Excel2003.
10 |
11 | [1]: http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=FAQ&referringTitle=Requirements
12 |
--------------------------------------------------------------------------------
/Documentation/markdown/ReadingSpreadsheetFiles/02-Security.md:
--------------------------------------------------------------------------------
1 | # PHPExcel User Documentation – Reading Spreadsheet Files
2 |
3 |
4 | ## Security
5 |
6 | XML-based formats such as OfficeOpen XML, Excel2003 XML, OASIS and Gnumeric are susceptible to XML External Entity Processing (XXE) injection attacks (for an explanation of XXE injection see http://websec.io/2012/08/27/Preventing-XEE-in-PHP.html) when reading spreadsheet files. This can lead to:
7 |
8 | - Disclosure whether a file is existent
9 | - Server Side Request Forgery
10 | - Command Execution (depending on the installed PHP wrappers)
11 |
12 |
13 | To prevent this, PHPExcel sets `libxml_disable_entity_loader` to `true` for the XML-based Readers by default.
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel2007.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class PHPExcel_Reader_Excel2007 : PHPExcel_Reader_IReader
8 | {
9 | #region IReader Members
10 |
11 | public PHPExcel reads
12 | {
13 | get
14 | {
15 | throw new Exception("The method or operation is not implemented.");
16 | }
17 | set
18 | {
19 | throw new Exception("The method or operation is not implemented.");
20 | }
21 | }
22 |
23 | #endregion
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Excel2007.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class PHPExcel_Writer_Excel2007 : PHPExcel_Writer_IWriter
8 | {
9 | #region IWriter Members
10 |
11 | public PHPExcel writes
12 | {
13 | get
14 | {
15 | throw new Exception("The method or operation is not implemented.");
16 | }
17 | set
18 | {
19 | throw new Exception("The method or operation is not implemented.");
20 | }
21 | }
22 |
23 | #endregion
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Examples/data/continents/Africa.txt:
--------------------------------------------------------------------------------
1 | Algeria
2 | Angola
3 | Benin
4 | Botswana
5 | Burkina
6 | Burundi
7 | Cameroon
8 | Cape Verde
9 | Central African Republic
10 | Chad
11 | Comoros
12 | Congo
13 | Congo, Democratic Republic of
14 | Djibouti
15 | Egypt
16 | Equatorial Guinea
17 | Eritrea
18 | Ethiopia
19 | Gabon
20 | Gambia
21 | Ghana
22 | Guinea
23 | Guinea-Bissau
24 | Ivory Coast
25 | Kenya
26 | Lesotho
27 | Liberia
28 | Libya
29 | Madagascar
30 | Malawi
31 | Mali
32 | Mauritania
33 | Mauritius
34 | Morocco
35 | Mozambique
36 | Namibia
37 | Niger
38 | Nigeria
39 | Rwanda
40 | Sao Tome and Principe
41 | Senegal
42 | Seychelles
43 | Sierra Leone
44 | Somalia
45 | South Africa
46 | South Sudan
47 | Sudan
48 | Swaziland
49 | Tanzania
50 | Togo
51 | Tunisia
52 | Uganda
53 | Zambia
54 | Zimbabwe
55 |
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/05-Deleting-a-Workbook.md:
--------------------------------------------------------------------------------
1 | # PHPExcel Developer Documentation
2 |
3 | ## Clearing a Workbook from memory
4 |
5 | The PHPExcel object contains cyclic references (e.g. the workbook is linked to the worksheets, and the worksheets are linked to their parent workbook) which cause problems when PHP tries to clear the objects from memory when they are unset(), or at the end of a function when they are in local scope. The result of this is "memory leaks", which can easily use a large amount of PHP's limited memory.
6 |
7 | This can only be resolved manually: if you need to unset a workbook, then you also need to "break" these cyclic references before doing so. PHPExcel provides the disconnectWorksheets() method for this purpose.
8 |
9 | ```php
10 | $objPHPExcel->disconnectWorksheets();
11 |
12 | unset($objPHPExcel);
13 | ```
14 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/Excel5/Color/BuiltIn.php:
--------------------------------------------------------------------------------
1 | '000000',
7 | 0x01 => 'FFFFFF',
8 | 0x02 => 'FF0000',
9 | 0x03 => '00FF00',
10 | 0x04 => '0000FF',
11 | 0x05 => 'FFFF00',
12 | 0x06 => 'FF00FF',
13 | 0x07 => '00FFFF',
14 | 0x40 => '000000', // system window text color
15 | 0x41 => 'FFFFFF', // system window background color
16 | );
17 |
18 | /**
19 | * Map built-in color to RGB value
20 | *
21 | * @param int $color Indexed color
22 | * @return array
23 | */
24 | public static function lookup($color)
25 | {
26 | if (isset(self::$map[$color])) {
27 | return array('rgb' => self::$map[$color]);
28 | }
29 | return array('rgb' => '000000');
30 | }
31 | }
--------------------------------------------------------------------------------
/Documentation/markdown/ReadingSpreadsheetFiles/06-Error-Handling.md:
--------------------------------------------------------------------------------
1 | # PHPExcel User Documentation – Reading Spreadsheet Files
2 |
3 | ## Error Handling
4 |
5 | Of course, you should always apply some error handling to your scripts as well. PHPExcel throws exceptions, so you can wrap all your code that accesses the library methods within Try/Catch blocks to trap for any problems that are encountered, and deal with them in an appropriate manner.
6 |
7 | The PHPExcel Readers throw a PHPExcel_Reader_Exception.
8 |
9 | ```php
10 | $inputFileName = './sampleData/example-1.xls';
11 |
12 | try {
13 | /** Load $inputFileName to a PHPExcel Object **/
14 | $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
15 | } catch(PHPExcel_Reader_Exception $e) {
16 | die('Error loading file: '.$e->getMessage());
17 | }
18 | ```
19 | > See Examples/Reader/exampleReader16.php for a working example of this code.
20 |
21 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/ClassDiagrams.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual Studio 2008
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagrams", "ClassDiagrams.csproj", "{CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | Release|Any CPU = Release|Any CPU
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Release|Any CPU.Build.0 = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/02-Setting-an-Autofilter.md:
--------------------------------------------------------------------------------
1 | # PHPExcel AutoFilter Reference
2 |
3 |
4 | ## Setting an AutoFilter area on a worksheet
5 |
6 | To set an autoFilter on a range of cells.
7 |
8 | ```php
9 | $objPHPExcel->getActiveSheet()->setAutoFilter('A1:E20');
10 | ```
11 |
12 | The first row in an autofilter range will be the heading row, which displays the autoFilter dropdown icons. It is not part of the actual autoFiltered data. All subsequent rows are the autoFiltered data. So an AutoFilter range should always contain the heading row and one or more data rows (one data row is pretty meaningless, but PHPExcel won't actually stop you specifying a meaningless range: it's up to you as the developer to avoid such errors.
13 |
14 | If you want to set the whole worksheet as an autofilter region
15 |
16 | ```php
17 | $objPHPExcel->getActiveSheet()->setAutoFilter(
18 | $objPHPExcel->getActiveSheet()
19 | ->calculateWorksheetDimension()
20 | );
21 | ```
22 |
23 | This enables filtering, but does not actually apply any filters.
24 |
25 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Shared/JAMA/utils/Maths.php:
--------------------------------------------------------------------------------
1 | abs($b)) {
17 | $r = $b / $a;
18 | $r = abs($a) * sqrt(1 + $r * $r);
19 | } elseif ($b != 0) {
20 | $r = $a / $b;
21 | $r = abs($b) * sqrt(1 + $r * $r);
22 | } else {
23 | $r = 0.0;
24 | }
25 | return $r;
26 | } // function hypo()
27 |
28 |
29 | /**
30 | * Mike Bommarito's version.
31 | * Compute n-dimensional hyotheneuse.
32 | *
33 | function hypot() {
34 | $s = 0;
35 | foreach (func_get_args() as $d) {
36 | if (is_numeric($d)) {
37 | $s += pow($d, 2);
38 | } else {
39 | throw new PHPExcel_Calculation_Exception(JAMAError(ARGUMENT_TYPE_EXCEPTION));
40 | }
41 | }
42 | return sqrt($s);
43 | }
44 | */
45 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/PHPExcel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class PHPExcel
8 | {
9 | ///
10 | public Worksheet Worksheets
11 | {
12 | get
13 | {
14 | throw new System.NotImplementedException();
15 | }
16 | set
17 | {
18 | }
19 | }
20 | }
21 |
22 | public class PHPExcel_Writer_PDF : PHPExcel_Writer_IWriter
23 | {
24 | #region PHPExcel_Writer_IWriter Members
25 |
26 | public PHPExcel writes
27 | {
28 | get
29 | {
30 | throw new Exception("The method or operation is not implemented.");
31 | }
32 | set
33 | {
34 | throw new Exception("The method or operation is not implemented.");
35 | }
36 | }
37 |
38 | #endregion
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader01.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #01
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #01
19 | Simple File Reader using PHPExcel_IOFactory::load()
20 | ';
31 | $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
32 |
33 |
34 | echo '
';
35 |
36 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
37 | var_dump($sheetData);
38 |
39 |
40 | ?>
41 |
42 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/PHPExcel_IOFactory.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class PHPExcel_IOFactory
8 | {
9 | public PHPExcel_Reader_IReader createsReader
10 | {
11 | get
12 | {
13 | throw new System.NotImplementedException();
14 | }
15 | set
16 | {
17 | }
18 | }
19 |
20 | public PHPExcel_Writer_IWriter createsWriter
21 | {
22 | get
23 | {
24 | throw new System.NotImplementedException();
25 | }
26 | set
27 | {
28 | }
29 | }
30 |
31 | public PHPExcel_Writer_IWriter createWriter()
32 | {
33 | throw new System.NotImplementedException();
34 | }
35 |
36 | public PHPExcel_Reader_IReader createReader()
37 | {
38 | throw new System.NotImplementedException();
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/Excel5/Color.php:
--------------------------------------------------------------------------------
1 | 'FF0000')
11 | */
12 | public static function map($color, $palette, $version)
13 | {
14 | if ($color <= 0x07 || $color >= 0x40) {
15 | // special built-in color
16 | return PHPExcel_Reader_Excel5_Color_BuiltIn::lookup($color);
17 | } elseif (isset($palette) && isset($palette[$color - 8])) {
18 | // palette color, color index 0x08 maps to pallete index 0
19 | return $palette[$color - 8];
20 | } else {
21 | // default color table
22 | if ($version == PHPExcel_Reader_Excel5::XLS_BIFF8) {
23 | return PHPExcel_Reader_Excel5_Color_BIFF8::lookup($color);
24 | } else {
25 | // BIFF5
26 | return PHPExcel_Reader_Excel5_Color_BIFF5::lookup($color);
27 | }
28 | }
29 |
30 | return $color;
31 | }
32 | }
--------------------------------------------------------------------------------
/Documentation/Examples/index.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Examples
14 |
15 |
16 |
17 |
18 | PHPExcel ' . pathinfo($exampleType,PATHINFO_BASENAME) . ' Examples';
25 |
26 | $exampleList = glob('./'.$exampleType.'/*.php');
27 |
28 | foreach($exampleList as $exampleFile) {
29 | $fileData = file_get_contents($exampleFile);
30 |
31 | $h1Pattern = '#(.*?)
#';
32 | $h2Pattern = '#(.*?)
#';
33 |
34 | if (preg_match($h1Pattern, $fileData, $out)) {
35 | $h1Text = $out[1];
36 | $h2Text = (preg_match($h2Pattern, $fileData, $out)) ? $out[1] : '';
37 |
38 | echo '',$h1Text,'
';
39 | if (($h2Text > '') &&
40 | (pathinfo($exampleType,PATHINFO_BASENAME) != 'Calculations')) {
41 | echo $h2Text,'
';
42 | }
43 | }
44 |
45 | }
46 | }
47 |
48 | ?>
49 |
50 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Serialized.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class PHPExcel_Reader_Serialized : PHPExcel_Reader_IReader
8 | {
9 | #region IReader Members
10 |
11 | public PHPExcel reads
12 | {
13 | get
14 | {
15 | throw new Exception("The method or operation is not implemented.");
16 | }
17 | set
18 | {
19 | throw new Exception("The method or operation is not implemented.");
20 | }
21 | }
22 |
23 | #endregion
24 | }
25 |
26 | public class PHPExcel_Reader_CSV : PHPExcel_Reader_IReader
27 | {
28 | #region IReader Members
29 |
30 | public PHPExcel reads
31 | {
32 | get
33 | {
34 | throw new Exception("The method or operation is not implemented.");
35 | }
36 | set
37 | {
38 | throw new Exception("The method or operation is not implemented.");
39 | }
40 | }
41 |
42 | #endregion
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader16.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #16
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #16
19 | Handling Loader Exceptions using Try/Catch
20 | ';
31 | try {
32 | $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
33 | } catch(PHPExcel_Reader_Exception $e) {
34 | die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
35 | }
36 |
37 |
38 | echo '
';
39 |
40 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
41 | var_dump($sheetData);
42 |
43 |
44 | ?>
45 |
46 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/03-Autofilter-Expressions.md:
--------------------------------------------------------------------------------
1 | # PHPExcel AutoFilter Reference
2 |
3 |
4 | ## Autofilter Expressions
5 |
6 | PHPEXcel 1.7.8 introduced the ability to actually create, read and write filter expressions; initially only for Excel2007 files, but later releases will extend this to other formats.
7 |
8 | To apply a filter expression to an autoFilter range, you first need to identify which column you're going to be applying this filter to.
9 |
10 | ```php
11 | $autoFilter = $objPHPExcel->getActiveSheet()->getAutoFilter();
12 | $columnFilter = $autoFilter->getColumn('C');
13 | ```
14 |
15 | This returns an autoFilter column object, and you can then apply filter expressions to that column.
16 |
17 | There are a number of different types of autofilter expressions. The most commonly used are:
18 |
19 | - Simple Filters
20 | - DateGroup Filters
21 | - Custom filters
22 | - Dynamic Filters
23 | - Top Ten Filters
24 |
25 | These different types are mutually exclusive within any single column. You should not mix the different types of filter in the same column. PHPExcel will not actively prevent you from doing this, but the results are unpredictable.
26 |
27 | Other filter expression types (such as cell colour filters) are not yet supported.
28 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "phpoffice/phpexcel",
3 | "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
4 | "keywords": ["PHP","Excel","OpenXML","xlsx","xls","spreadsheet"],
5 | "homepage": "https://github.com/PHPOffice/PHPExcel",
6 | "type": "library",
7 | "license": "LGPL-2.1",
8 | "authors": [
9 | {
10 | "name": "Maarten Balliauw",
11 | "homepage": "http://blog.maartenballiauw.be"
12 | },
13 | {
14 | "name": "Mark Baker",
15 | "homepage": "http://markbakeruk.net"
16 | },
17 | {
18 | "name": "Franck Lefevre",
19 | "homepage": "http://rootslabs.net"
20 | },
21 | {
22 | "name": "Erik Tilt"
23 | }
24 | ],
25 | "require": {
26 | "php": "^5.2|^7.0",
27 | "ext-mbstring": "*",
28 | "ext-xml": "*",
29 | "ext-xmlwriter": "*"
30 | },
31 | "require-dev": {
32 | "squizlabs/php_codesniffer": "2.*"
33 | },
34 | "recommend": {
35 | "ext-zip": "*",
36 | "ext-gd": "*"
37 | },
38 | "autoload": {
39 | "psr-0": {
40 | "PHPExcel": "Classes/"
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/locale/en/uk/config:
--------------------------------------------------------------------------------
1 | ##
2 | ## PHPExcel
3 | ##
4 | ## Copyright (c) 2006 - 2013 PHPExcel
5 | ##
6 | ## This library is free software; you can redistribute it and/or
7 | ## modify it under the terms of the GNU Lesser General Public
8 | ## License as published by the Free Software Foundation; either
9 | ## version 2.1 of the License, or (at your option) any later version.
10 | ##
11 | ## This library is distributed in the hope that it will be useful,
12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | ## Lesser General Public License for more details.
15 | ##
16 | ## You should have received a copy of the GNU Lesser General Public
17 | ## License along with this library; if not, write to the Free Software
18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 | ##
20 | ## @category PHPExcel
21 | ## @package PHPExcel_Settings
22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
24 | ## @version ##VERSION##, ##DATE##
25 | ##
26 | ##
27 |
28 |
29 | ##
30 | ## (For future use)
31 | ##
32 | currencySymbol = £
33 |
--------------------------------------------------------------------------------
/Documentation/Examples/Calculations/index.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Calculation Function Examples
14 |
15 |
16 |
17 |
18 | PHPExcel Calculation Function Examples';
21 |
22 | $exampleTypeList = glob('./*',GLOB_ONLYDIR);
23 |
24 | foreach($exampleTypeList as $exampleType) {
25 |
26 | echo '' . pathinfo($exampleType,PATHINFO_BASENAME) . ' Function Examples
';
27 |
28 | $exampleList = glob('./'.$exampleType.'/*.php');
29 |
30 | foreach($exampleList as $exampleFile) {
31 | $fileData = file_get_contents($exampleFile);
32 |
33 | $h1Pattern = '#(.*?)
#';
34 | $h2Pattern = '#(.*?)
#';
35 |
36 | if (preg_match($h1Pattern, $fileData, $out)) {
37 | $h1Text = $out[1];
38 | $h2Text = (preg_match($h2Pattern, $fileData, $out)) ? $out[1] : '';
39 |
40 | echo '',$h1Text,'
';
41 | if ($h2Text > '') {
42 | echo $h2Text,'
';
43 | }
44 | }
45 |
46 | }
47 | }
48 |
49 | ?>
50 |
51 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/IComparable.php:
--------------------------------------------------------------------------------
1 | PHPExcel_Style_Border::BORDER_NONE,
7 | 0x01 => PHPExcel_Style_Border::BORDER_THIN,
8 | 0x02 => PHPExcel_Style_Border::BORDER_MEDIUM,
9 | 0x03 => PHPExcel_Style_Border::BORDER_DASHED,
10 | 0x04 => PHPExcel_Style_Border::BORDER_DOTTED,
11 | 0x05 => PHPExcel_Style_Border::BORDER_THICK,
12 | 0x06 => PHPExcel_Style_Border::BORDER_DOUBLE,
13 | 0x07 => PHPExcel_Style_Border::BORDER_HAIR,
14 | 0x08 => PHPExcel_Style_Border::BORDER_MEDIUMDASHED,
15 | 0x09 => PHPExcel_Style_Border::BORDER_DASHDOT,
16 | 0x0A => PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT,
17 | 0x0B => PHPExcel_Style_Border::BORDER_DASHDOTDOT,
18 | 0x0C => PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT,
19 | 0x0D => PHPExcel_Style_Border::BORDER_SLANTDASHDOT,
20 | );
21 |
22 | /**
23 | * Map border style
24 | * OpenOffice documentation: 2.5.11
25 | *
26 | * @param int $index
27 | * @return string
28 | */
29 | public static function lookup($index)
30 | {
31 | if (isset(self::$map[$index])) {
32 | return self::$map[$index];
33 | }
34 | return PHPExcel_Style_Border::BORDER_NONE;
35 | }
36 | }
--------------------------------------------------------------------------------
/Documentation/markdown/CalculationEngine/FunctionReference/02-General-Introduction.md:
--------------------------------------------------------------------------------
1 | # Calculation Engine - Formula Function Reference
2 |
3 | ## General Introduction
4 |
5 | ### Function that are not Supported in Excel5
6 |
7 | Not all functions are supported by the Excel 5 Writer. Use of these functions within your workbooks will result in an error when trying to write to Excel5.
8 |
9 | The following is the list of those functions that are implemented within PHPExcel, but that cannot currently be written to Excel 5.
10 |
11 | #### Cube Functions
12 |
13 | Excel Function | Notes
14 | --------------------|---------
15 | CUBEKPIMEMBER | Not yet Implemented
16 | CUBEMEMBER | Not yet Implemented
17 | CUBEMEMBERPROPERTY | Not yet Implemented
18 | CUBERANKEDMEMBER | Not yet Implemented
19 | CUBESET | Not yet Implemented
20 | CUBESETCOUNT | Not yet Implemented
21 | CUBEVALUE | Not yet Implemented
22 |
23 |
24 | #### Database Functions
25 |
26 | Excel Function | Notes
27 | ---------------|---------
28 |
29 |
30 | #### Date and Time Functions
31 |
32 | Excel Function | Notes
33 | ---------------|---------
34 | EDATE | Not a standard function within Excel 5, but an add-in from the Analysis ToolPak.
35 | EOMONTH | Not a standard function within Excel 5, but an add-in from the Analysis ToolPak.
36 |
37 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader04.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #04
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #04
19 | Simple File Reader using the PHPExcel_IOFactory to Identify a Reader to Use
20 | ';
33 |
34 | echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with the identified reader type
';
35 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
36 | $objPHPExcel = $objReader->load($inputFileName);
37 |
38 |
39 | echo '
';
40 |
41 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
42 | var_dump($sheetData);
43 |
44 |
45 | ?>
46 |
47 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader18.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #18
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #18
19 | Reading list of WorkSheets without loading entire file
20 | ';
37 |
38 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
39 | $worksheetNames = $objReader->listWorksheetNames($inputFileName);
40 |
41 | echo 'Worksheet Names
';
42 | echo '';
43 | foreach ($worksheetNames as $worksheetName) {
44 | echo '- ', $worksheetName, '
';
45 | }
46 | echo '
';
47 |
48 | ?>
49 |
50 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader02.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reading WorkBook Data Example #02
14 |
15 |
16 |
17 |
18 | PHPExcel Reading WorkBook Data Example #02
19 | Read a list of Custom Properties for a WorkBook
20 | load($inputFileName);
36 |
37 |
38 | echo '
';
39 |
40 | /** Read an array list of any custom properties for this document **/
41 | $customPropertyList = $objPHPExcel->getProperties()->getCustomProperties();
42 |
43 | echo 'Custom Property names:
';
44 | foreach($customPropertyList as $customPropertyName) {
45 | echo $customPropertyName,'
';
46 | }
47 |
48 |
49 |
50 | ?>
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader02.php:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 | PHPExcel Reader Example #02
21 |
22 |
23 |
24 |
25 | PHPExcel Reader Example #02
26 | Simple File Reader using a Specified Reader
27 | ';
32 | $objReader = new PHPExcel_Reader_Excel5();
33 | // $objReader = new PHPExcel_Reader_Excel2007();
34 | // $objReader = new PHPExcel_Reader_Excel2003XML();
35 | // $objReader = new PHPExcel_Reader_OOCalc();
36 | // $objReader = new PHPExcel_Reader_SYLK();
37 | // $objReader = new PHPExcel_Reader_Gnumeric();
38 | // $objReader = new PHPExcel_Reader_CSV();
39 | $objPHPExcel = $objReader->load($inputFileName);
40 |
41 |
42 | echo '
';
43 |
44 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
45 | var_dump($sheetData);
46 |
47 |
48 | ?>
49 |
50 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader03.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #03
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #03
19 | Simple File Reader using the PHPExcel_IOFactory to Return a Reader
20 | ';
39 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
40 | $objPHPExcel = $objReader->load($inputFileName);
41 |
42 |
43 | echo '
';
44 |
45 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
46 | var_dump($sheetData);
47 |
48 |
49 | ?>
50 |
51 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader05.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #05
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #05
19 | Simple File Reader using the "Read Data Only" Option
20 | ';
37 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
38 | echo 'Turning Formatting off for Load
';
39 | $objReader->setReadDataOnly(true);
40 | $objPHPExcel = $objReader->load($inputFileName);
41 |
42 |
43 | echo '
';
44 |
45 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
46 | var_dump($sheetData);
47 |
48 |
49 | ?>
50 |
51 |
--------------------------------------------------------------------------------
/Documentation/markdown/Overview/03-Creating-a-Spreadsheet.md:
--------------------------------------------------------------------------------
1 | # PHPExcel Developer Documentation
2 |
3 |
4 | ## Creating a spreadsheet
5 |
6 | ### The PHPExcel class
7 |
8 | The PHPExcel class is the core of PHPExcel. It contains references to the contained worksheets, document security settings and document meta data.
9 |
10 | To simplify the PHPExcel concept: the PHPExcel class represents your workbook.
11 |
12 | Typically, you will create a workbook in one of two ways, either by loading it from a spreadsheet file, or creating it manually. A third option, though less commonly used, is cloning an existing workbook that has been created using one of the previous two methods.
13 |
14 | #### Loading a Workbook from a file
15 |
16 | Details of the different spreadsheet formats supported, and the options available to read them into a PHPExcel object are described fully in the PHPExcel User Documentation - Reading Spreadsheet Files document.
17 |
18 | ```php
19 | $inputFileName = './sampleData/example1.xls';
20 |
21 | /** Load $inputFileName to a PHPExcel Object **/
22 | $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
23 | ```
24 |
25 | #### Creating a new workbook
26 |
27 | If you want to create a new workbook, rather than load one from file, then you simply need to instantiate it as a new PHPExcel object.
28 |
29 | ```php
30 | /** Create a new PHPExcel Object **/
31 | $objPHPExcel = new PHPExcel();
32 | ```
33 |
34 | A new workbook will always be created with a single worksheet.
35 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/locale/bg/config:
--------------------------------------------------------------------------------
1 | ##
2 | ## PHPExcel
3 | ##
4 |
5 | ## Copyright (c) 2006 - 2013 PHPExcel
6 | ##
7 | ## This library is free software; you can redistribute it and/or
8 | ## modify it under the terms of the GNU Lesser General Public
9 | ## License as published by the Free Software Foundation; either
10 | ## version 2.1 of the License, or (at your option) any later version.
11 | ##
12 | ## This library is distributed in the hope that it will be useful,
13 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 | ## Lesser General Public License for more details.
16 | ##
17 | ## You should have received a copy of the GNU Lesser General Public
18 | ## License along with this library; if not, write to the Free Software
19 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 | ##
21 | ## @category PHPExcel
22 | ## @package PHPExcel_Settings
23 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
24 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25 | ## @version ##VERSION##, ##DATE##
26 | ##
27 | ##
28 |
29 |
30 | ArgumentSeparator = ;
31 |
32 |
33 | ##
34 | ## (For future use)
35 | ##
36 | currencySymbol = лв
37 |
38 |
39 | ##
40 | ## Excel Error Codes (For future use)
41 |
42 | ##
43 | NULL = #ПРАЗНО!
44 | DIV0 = #ДЕЛ/0!
45 | VALUE = #СТОЙНОСТ!
46 | REF = #РЕФ!
47 | NAME = #ИМЕ?
48 | NUM = #ЧИСЛО!
49 | NA = #Н/Д
50 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Writer/IWriter.php:
--------------------------------------------------------------------------------
1 | See Examples/Reader/exampleReader01.php for a working example of this code.
15 |
16 | The load() method will attempt to identify the file type, and instantiate a loader for that file type; using it to load the file and store the data and any formatting in a PHPExcel object.
17 |
18 | The method makes an initial guess at the loader to instantiate based on the file extension; but will test the file before actually executing the load: so if (for example) the file is actually a CSV file or contains HTML markup, but that has been given a .xls extension (quite a common practise), it will reject the Excel5 loader that it would normally use for a .xls file; and test the file using the other loaders until it finds the appropriate loader, and then use that to read the file.
19 |
20 | While easy to implement in your code, and you don't need to worry about the file type; this isn't the most efficient method to load a file; and it lacks the flexibility to configure the loader in any way before actually reading the file into a PHPExcel object.
21 |
22 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/locale/fi/config:
--------------------------------------------------------------------------------
1 | ##
2 | ## PHPExcel
3 | ##
4 | ## Copyright (c) 2006 - 2013 PHPExcel
5 | ##
6 | ## This library is free software; you can redistribute it and/or
7 | ## modify it under the terms of the GNU Lesser General Public
8 | ## License as published by the Free Software Foundation; either
9 | ## version 2.1 of the License, or (at your option) any later version.
10 | ##
11 | ## This library is distributed in the hope that it will be useful,
12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | ## Lesser General Public License for more details.
15 | ##
16 | ## You should have received a copy of the GNU Lesser General Public
17 | ## License along with this library; if not, write to the Free Software
18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 | ##
20 | ## @category PHPExcel
21 | ## @package PHPExcel_Settings
22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
24 | ## @version ##VERSION##, ##DATE##
25 | ##
26 | ##
27 |
28 |
29 | ArgumentSeparator = ;
30 |
31 |
32 | ##
33 | ## (For future use)
34 | ##
35 | currencySymbol = $ # Symbol not known, should it be a € (Euro)?
36 |
37 |
38 | ##
39 | ## Excel Error Codes (For future use)
40 | ##
41 | NULL = #TYHJÄ!
42 | DIV0 = #JAKO/0!
43 | VALUE = #ARVO!
44 | REF = #VIITTAUS!
45 | NAME = #NIMI?
46 | NUM = #LUKU!
47 | NA = #PUUTTUU
48 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/locale/es/config:
--------------------------------------------------------------------------------
1 | ##
2 | ## PHPExcel
3 | ##
4 | ## Copyright (c) 2006 - 2013 PHPExcel
5 | ##
6 | ## This library is free software; you can redistribute it and/or
7 | ## modify it under the terms of the GNU Lesser General Public
8 | ## License as published by the Free Software Foundation; either
9 | ## version 2.1 of the License, or (at your option) any later version.
10 | ##
11 | ## This library is distributed in the hope that it will be useful,
12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | ## Lesser General Public License for more details.
15 | ##
16 | ## You should have received a copy of the GNU Lesser General Public
17 | ## License along with this library; if not, write to the Free Software
18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 | ##
20 | ## @category PHPExcel
21 | ## @package PHPExcel_Settings
22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
24 | ## @version ##VERSION##, ##DATE##
25 | ##
26 | ##
27 |
28 |
29 | ArgumentSeparator = ;
30 |
31 |
32 | ##
33 | ## (For future use)
34 | ##
35 | currencySymbol = $ ## I'm surprised that the Excel Documentation suggests $ rather than €
36 |
37 |
38 | ##
39 | ## Excel Error Codes (For future use)
40 | ##
41 | NULL = #¡NULO!
42 | DIV0 = #¡DIV/0!
43 | VALUE = #¡VALOR!
44 | REF = #¡REF!
45 | NAME = #¿NOMBRE?
46 | NUM = #¡NÚM!
47 | NA = #N/A
48 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader19.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #19
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #19
19 | Reading WorkSheet information without loading entire file
20 | ';
37 |
38 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
39 | $worksheetData = $objReader->listWorksheetInfo($inputFileName);
40 |
41 | echo 'Worksheet Information
';
42 | echo '';
43 | foreach ($worksheetData as $worksheet) {
44 | echo '- ', $worksheet['worksheetName'], '
';
45 | echo 'Rows: ', $worksheet['totalRows'], ' Columns: ', $worksheet['totalColumns'], '
';
46 | echo 'Cell Range: A1:', $worksheet['lastColumnLetter'], $worksheet['totalRows'];
47 | echo ' ';
48 | }
49 | echo '
';
50 |
51 | ?>
52 |
53 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader17.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #17
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #17
19 | Simple File Reader Loading Several Named WorkSheets
20 | ';
37 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
38 |
39 |
40 | /** Read the list of Worksheet Names from the Workbook file **/
41 | echo 'Read the list of Worksheets in the WorkBook
';
42 | $worksheetNames = $objReader->listWorksheetNames($inputFileName);
43 |
44 | echo 'There are ',count($worksheetNames),' worksheet',((count($worksheetNames) == 1) ? '' : 's'),' in the workbook
';
45 | foreach($worksheetNames as $worksheetName) {
46 | echo $worksheetName,'
';
47 | }
48 |
49 |
50 | ?>
51 |
52 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/IReadFilter.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #06
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #06
19 | Simple File Reader Loading All WorkSheets
20 | ';
37 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
38 | echo 'Loading all WorkSheets
';
39 | $objReader->setLoadAllSheets();
40 | $objPHPExcel = $objReader->load($inputFileName);
41 |
42 |
43 | echo '
';
44 |
45 | echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded
';
46 | $loadedSheetNames = $objPHPExcel->getSheetNames();
47 | foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
48 | echo $sheetIndex,' -> ',$loadedSheetName,'
';
49 | }
50 |
51 |
52 | ?>
53 |
54 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Calculation/ExceptionHandler.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #07
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #07
19 | Simple File Reader Loading a Single Named WorkSheet
20 | ';
38 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
39 | echo 'Loading Sheet "',$sheetname,'" only
';
40 | $objReader->setLoadSheetsOnly($sheetname);
41 | $objPHPExcel = $objReader->load($inputFileName);
42 |
43 |
44 | echo '
';
45 |
46 | echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded
';
47 | $loadedSheetNames = $objPHPExcel->getSheetNames();
48 | foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
49 | echo $sheetIndex,' -> ',$loadedSheetName,'
';
50 | }
51 |
52 |
53 | ?>
54 |
55 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Chart/Exception.php:
--------------------------------------------------------------------------------
1 | line = $line;
43 | $e->file = $file;
44 | throw $e;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/Exception.php:
--------------------------------------------------------------------------------
1 | line = $line;
43 | $e->file = $file;
44 | throw $e;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Writer/Exception.php:
--------------------------------------------------------------------------------
1 | line = $line;
43 | $e->file = $file;
44 | throw $e;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Cell/IValueBinder.php:
--------------------------------------------------------------------------------
1 | line = $line;
43 | $e->file = $file;
44 | throw $e;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/Excel5/Style/FillPattern.php:
--------------------------------------------------------------------------------
1 | PHPExcel_Style_Fill::FILL_NONE,
7 | 0x01 => PHPExcel_Style_Fill::FILL_SOLID,
8 | 0x02 => PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY,
9 | 0x03 => PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY,
10 | 0x04 => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY,
11 | 0x05 => PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL,
12 | 0x06 => PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL,
13 | 0x07 => PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN,
14 | 0x08 => PHPExcel_Style_Fill::FILL_PATTERN_DARKUP,
15 | 0x09 => PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID,
16 | 0x0A => PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS,
17 | 0x0B => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL,
18 | 0x0C => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL,
19 | 0x0D => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN,
20 | 0x0E => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP,
21 | 0x0F => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID,
22 | 0x10 => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS,
23 | 0x11 => PHPExcel_Style_Fill::FILL_PATTERN_GRAY125,
24 | 0x12 => PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625,
25 | );
26 |
27 | /**
28 | * Get fill pattern from index
29 | * OpenOffice documentation: 2.5.12
30 | *
31 | * @param int $index
32 | * @return string
33 | */
34 | public static function lookup($index)
35 | {
36 | if (isset(self::$map[$index])) {
37 | return self::$map[$index];
38 | }
39 | return PHPExcel_Style_Fill::FILL_NONE;
40 | }
41 | }
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader08.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #08
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #08
19 | Simple File Reader Loading Several Named WorkSheets
20 | ';
38 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
39 | echo 'Loading Sheet',((count($sheetnames) == 1) ? '' : 's'),' "',implode('" and "',$sheetnames),'" only
';
40 | $objReader->setLoadSheetsOnly($sheetnames);
41 | $objPHPExcel = $objReader->load($inputFileName);
42 |
43 |
44 | echo '
';
45 |
46 | echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded
';
47 | $loadedSheetNames = $objPHPExcel->getSheetNames();
48 | foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
49 | echo $sheetIndex,' -> ',$loadedSheetName,'
';
50 | }
51 |
52 |
53 | ?>
54 |
55 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel5.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class PHPExcel_Reader_Excel5 : PHPExcel_Reader_IReader
8 | {
9 | #region PHPExcel_Writer_IReader Members
10 |
11 | public PHPExcel reads
12 | {
13 | get
14 | {
15 | throw new Exception("The method or operation is not implemented.");
16 | }
17 | set
18 | {
19 | throw new Exception("The method or operation is not implemented.");
20 | }
21 | }
22 |
23 | #endregion
24 | }
25 |
26 | public class PHPExcel_Reader_Excel2003XML : PHPExcel_Reader_IReader
27 | {
28 | #region PHPExcel_Writer_IReader Members
29 |
30 | public PHPExcel reads
31 | {
32 | get
33 | {
34 | throw new Exception("The method or operation is not implemented.");
35 | }
36 | set
37 | {
38 | throw new Exception("The method or operation is not implemented.");
39 | }
40 | }
41 |
42 | #endregion
43 | }
44 |
45 | public class PHPExcel_Reader_SYLK : PHPExcel_Reader_IReader
46 | {
47 | #region PHPExcel_Writer_IReader Members
48 |
49 | public PHPExcel reads
50 | {
51 | get
52 | {
53 | throw new Exception("The method or operation is not implemented.");
54 | }
55 | set
56 | {
57 | throw new Exception("The method or operation is not implemented.");
58 | }
59 | }
60 |
61 | #endregion
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/RichText/ITextElement.php:
--------------------------------------------------------------------------------
1 | listWorksheetNames($inputFileName);
16 |
17 | echo 'Worksheet Names
';
18 | echo '';
19 | foreach ($worksheetNames as $worksheetName) {
20 | echo '- ', $worksheetName, '
';
21 | }
22 | echo '
';
23 | ```
24 | > See Examples/Reader/exampleReader18.php for a working example of this code.
25 |
26 | ### listWorksheetInfo
27 |
28 | The `listWorksheetInfo()` method returns a nested array, with each entry listing the name and dimensions for a worksheet:
29 |
30 | ```php
31 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
32 |
33 | $worksheetData = $objReader->listWorksheetInfo($inputFileName);
34 |
35 | echo 'Worksheet Information
';
36 | echo '';
37 | foreach ($worksheetData as $worksheet) {
38 | echo '- ', $worksheet['worksheetName'], '
';
39 | echo 'Rows: ', $worksheet['totalRows'],
40 | ' Columns: ', $worksheet['totalColumns'], '
';
41 | echo 'Cell Range: A1:',
42 | $worksheet['lastColumnLetter'], $worksheet['totalRows'];
43 | echo ' ';
44 | }
45 | echo '
';
46 | ```
47 | > See Examples/Reader/exampleReader19.php for a working example of this code.
48 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/04-02-Autofilter-Expressions-Dategroup.md:
--------------------------------------------------------------------------------
1 | # PHPExcel AutoFilter Reference
2 |
3 |
4 | ## Autofilter Expressions
5 |
6 | ### DateGroup Filters
7 |
8 | In MS Excel, DateGroup filters provide a series of dropdown filter selectors for date values, so you can specify entire years, or months within a year, or individual days within each month.
9 |
10 | 
11 |
12 | DateGroup filters are still applied as a Standard Filter type.
13 |
14 | ```php
15 | $columnFilter->setFilterType(
16 | PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER
17 | );
18 | ```
19 |
20 | Creating a dateGroup filter in PHPExcel, you specify the values for "checked" columns as an associative array of year. month, day, hour minute and second. To select a year and month, you need to create a DateGroup rule identifying the selected year and month:
21 |
22 | ```php
23 | $columnFilter->createRule()
24 | ->setRule(
25 | PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
26 | array(
27 | 'year' => 2012,
28 | 'month' => 1
29 | )
30 | )
31 | ->setRuleType(
32 | PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP
33 | );
34 | ```
35 |
36 | The key values for the associative array are:
37 |
38 | - year
39 | - month
40 | - day
41 | - hour
42 | - minute
43 | - second
44 |
45 | Like Standard filters, DateGroup filters are always a match of EQUALS, and multiple standard filters are always treated as being joined by an OR condition.
46 |
47 | Note that we alse specify a ruleType: to differentiate this from a standard filter, we explicitly set the Rule's Type to AUTOFILTER_RULETYPE_DATEGROUP. As with standard filters, we can create any number of DateGroup Filters.
48 |
49 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/05-Executing-Autofilters.md:
--------------------------------------------------------------------------------
1 | # PHPExcel AutoFilter Reference
2 |
3 |
4 | ## Executing an AutoFilter
5 |
6 | When an autofilter is applied in MS Excel, it sets the row hidden/visible flags for each row of the autofilter area based on the selected criteria, so that only those rows that match the filter criteria are displayed.
7 |
8 | PHPExcel will not execute the equivalent function automatically when you set or change a filter expression, but only when the file is saved.
9 |
10 | ### Applying the Filter
11 |
12 | If you wish to execute your filter from within a script, you need to do this manually. You can do this using the autofilters showHideRows() method.
13 |
14 | ```php
15 | $autoFilter = $objPHPExcel->getActiveSheet()->getAutoFilter();
16 | $autoFilter->showHideRows();
17 | ```
18 |
19 | This will set all rows that match the filter criteria to visible, while hiding all other rows within the autofilter area.
20 |
21 | ### Displaying Filtered Rows
22 |
23 | Simply looping through the rows in an autofilter area will still access ever row, whether it matches the filter criteria or not. To selectively access only the filtered rows, you need to test each row’s visibility settings.
24 |
25 | ```php
26 | foreach ($objPHPExcel->getActiveSheet()->getRowIterator() as $row) {
27 | if ($objPHPExcel->getActiveSheet()
28 | ->getRowDimension($row->getRowIndex())->getVisible()) {
29 | echo ' Row number - ' , $row->getRowIndex() , ' ';
30 | echo $objPHPExcel->getActiveSheet()
31 | ->getCell(
32 | 'C'.$row->getRowIndex()
33 | )
34 | ->getValue(), ' ';
35 | echo $objPHPExcel->getActiveSheet()
36 | ->getCell(
37 | 'D'.$row->getRowIndex()
38 | )->getFormattedValue(), ' ';
39 | echo EOL;
40 | }
41 | }
42 | ```
43 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader04.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reading WorkBook Data Example #04
14 |
15 |
16 |
17 |
18 | PHPExcel Reading WorkBook Data Example #04
19 | Get a List of the Worksheets in a WorkBook
20 | load($inputFileName);
36 |
37 |
38 | echo '
';
39 |
40 | echo 'Reading the number of Worksheets in the WorkBook
';
41 | /** Use the PHPExcel object's getSheetCount() method to get a count of the number of WorkSheets in the WorkBook */
42 | $sheetCount = $objPHPExcel->getSheetCount();
43 | echo 'There ',(($sheetCount == 1) ? 'is' : 'are'),' ',$sheetCount,' WorkSheet',(($sheetCount == 1) ? '' : 's'),' in the WorkBook
';
44 |
45 | echo 'Reading the names of Worksheets in the WorkBook
';
46 | /** Use the PHPExcel object's getSheetNames() method to get an array listing the names/titles of the WorkSheets in the WorkBook */
47 | $sheetNames = $objPHPExcel->getSheetNames();
48 | foreach($sheetNames as $sheetIndex => $sheetName) {
49 | echo 'WorkSheet #',$sheetIndex,' is named "',$sheetName,'"
';
50 | }
51 |
52 |
53 | ?>
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/01-Autofilters.md:
--------------------------------------------------------------------------------
1 | # PHPExcel AutoFilter Reference
2 |
3 |
4 | ## AutoFilters
5 |
6 | Each worksheet in an Excel Workbook can contain a single autoFilter range. Filtered data displays only the rows that meet criteria that you specify and hides rows that you do not want displayed. You can filter by more than one column: filters are additive, which means that each additional filter is based on the current filter and further reduces the subset of data.
7 |
8 | 
9 |
10 | When an AutoFilter is applied to a range of cells, the first row in an autofilter range will be the heading row, which displays the autoFilter dropdown icons. It is not part of the actual autoFiltered data. All subsequent rows are the autoFiltered data. So an AutoFilter range should always contain the heading row and one or more data rows (one data row is pretty meaningless), but PHPExcel won't actually stop you specifying a meaningless range: it's up to you as the developer to avoid such errors.
11 |
12 | To determine if a filter is applied, note the icon in the column heading. A drop-down arrow () means that filtering is enabled but not applied. In MS Excel, when you hover over the heading of a column with filtering enabled but not applied, a screen tip displays the cell text for the first row in that column, and the message "(Showing All)".
13 |
14 | 
15 |
16 |
17 | A Filter button () means that a filter is applied. When you hover over the heading of a filtered column, a screen tip displays the filter that has been applied to that column, such as "Equals a red cell color" or "Larger than 150".
18 |
19 | 
20 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Exception.php:
--------------------------------------------------------------------------------
1 | line = $line;
51 | $e->file = $file;
52 | throw $e;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/Examples/40duplicateStyle.php:
--------------------------------------------------------------------------------
1 | ');
9 |
10 | date_default_timezone_set('Europe/London');
11 |
12 | /** Include PHPExcel */
13 | require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';
14 |
15 | echo date('H:i:s') , " Create new PHPExcel object" , EOL;
16 | $objPHPExcel = new PHPExcel();
17 | $worksheet = $objPHPExcel->getActiveSheet();
18 |
19 | echo date('H:i:s') , " Create styles array" , EOL;
20 | $styles = array();
21 | for ($i = 0; $i < 10; $i++) {
22 | $style = new PHPExcel_Style();
23 | $style->getFont()->setSize($i + 4);
24 | $styles[] = $style;
25 | }
26 |
27 | echo date('H:i:s') , " Add data (begin)" , EOL;
28 | $t = microtime(true);
29 | for ($col = 0; $col < 50; $col++) {
30 | for ($row = 0; $row < 100; $row++) {
31 | $str = ($row + $col);
32 | $style = $styles[$row % 10];
33 | $coord = PHPExcel_Cell::stringFromColumnIndex($col) . ($row + 1);
34 | $worksheet->setCellValue($coord, $str);
35 | $worksheet->duplicateStyle($style, $coord);
36 | }
37 | }
38 | $d = microtime(true) - $t;
39 | echo date('H:i:s') , " Add data (end), time: " . round($d, 2) . " s", EOL;
40 |
41 |
42 | echo date('H:i:s') , " Write to Excel2007 format" , EOL;
43 | $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
44 | $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
45 | echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;
46 |
47 |
48 | echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;
49 |
50 | echo date('H:i:s') , " Done writing file" , EOL;
51 | echo 'File has been created in ' , getcwd() , EOL;
52 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/DefaultReadFilter.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #09
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #09
19 | Simple File Reader Using a Read Filter
20 | = 1 && $row <= 7) {
43 | if (in_array($column,range('A','E'))) {
44 | return true;
45 | }
46 | }
47 | return false;
48 | }
49 | }
50 |
51 | $filterSubset = new MyReadFilter();
52 |
53 |
54 | echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'
';
55 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
56 | echo 'Loading Sheet "',$sheetname,'" only
';
57 | $objReader->setLoadSheetsOnly($sheetname);
58 | echo 'Loading Sheet using filter
';
59 | $objReader->setReadFilter($filterSubset);
60 | $objPHPExcel = $objReader->load($inputFileName);
61 |
62 |
63 | echo '
';
64 |
65 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
66 | var_dump($sheetData);
67 |
68 |
69 | ?>
70 |
71 |
--------------------------------------------------------------------------------
/Documentation/Examples/Calculations/DateTime/TIMEVALUE.php:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 | PHPExcel Calculation Examples
15 |
16 |
17 |
18 |
19 | TIMEVALUE
20 | Converts a time in the form of text to a serial number.
21 | getActiveSheet();
33 |
34 | // Add some data
35 | $testDates = array( '3:15', '13:15', '15:15:15', '3:15 AM', '3:15 PM', '5PM', '9:15AM', '13:15AM'
36 | );
37 | $testDateCount = count($testDates);
38 |
39 | for($row = 1; $row <= $testDateCount; ++$row) {
40 | $worksheet->setCellValue('A'.$row, $testDates[$row-1]);
41 | $worksheet->setCellValue('B'.$row, '=TIMEVALUE(A'.$row.')');
42 | $worksheet->setCellValue('C'.$row, '=B'.$row);
43 | }
44 |
45 | $worksheet->getStyle('C1:C'.$testDateCount)
46 | ->getNumberFormat()
47 | ->setFormatCode('hh:mm:ss');
48 |
49 |
50 | echo '
';
51 |
52 |
53 | // Test the formulae
54 | ?>
55 |
56 |
57 | | Time String |
58 | Formula |
59 | Excel TimeStamp |
60 | Formatted TimeStamp |
61 |
62 | ';
65 | echo '' , $worksheet->getCell('A'.$row)->getFormattedValue() , ' | ';
66 | echo '' , $worksheet->getCell('B'.$row)->getValue() , ' | ';
67 | echo '' , $worksheet->getCell('B'.$row)->getFormattedValue() , ' | ';
68 | echo '' , $worksheet->getCell('C'.$row)->getFormattedValue() , ' | ';
69 | echo '';
70 | }
71 | ?>
72 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php:
--------------------------------------------------------------------------------
1 | BSECollection[] = $BSE;
45 | $BSE->setParent($this);
46 | }
47 |
48 | /**
49 | * Get the collection of BLIP Store Entries
50 | *
51 | * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE[]
52 | */
53 | public function getBSECollection()
54 | {
55 | return $this->BSECollection;
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/Examples/SylkReader.php:
--------------------------------------------------------------------------------
1 | save(str_replace('.php', '.xlsx', __FILE__));
43 | echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL;
44 |
45 |
46 | // Echo memory peak usage
47 | echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
48 |
49 | // Echo done
50 | echo date('H:i:s') , " Done writing file" , PHP_EOL;
51 |
--------------------------------------------------------------------------------
/Examples/44worksheetInfo.php:
--------------------------------------------------------------------------------
1 | ');
33 |
34 | date_default_timezone_set('Europe/London');
35 |
36 | /** Include PHPExcel_IOFactory */
37 | require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';
38 |
39 |
40 | if (!file_exists("05featuredemo.xlsx")) {
41 | exit("Please run 05featuredemo.php first." . EOL);
42 | }
43 |
44 | $inputFileName = "05featuredemo.xlsx";
45 | $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
46 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
47 | $sheetList = $objReader->listWorksheetNames($inputFileName);
48 | $sheetInfo = $objReader->listWorksheetInfo($inputFileName);
49 |
50 | echo 'File Type:', PHP_EOL;
51 | var_dump($inputFileType);
52 |
53 | echo 'Worksheet Names:', PHP_EOL;
54 | var_dump($sheetList);
55 |
56 | echo 'Worksheet Names:', PHP_EOL;
57 | var_dump($sheetInfo);
58 |
59 |
--------------------------------------------------------------------------------
/Documentation/markdown/Features/Autofilters/04-01-Autofilter-Expressions-Simple.md:
--------------------------------------------------------------------------------
1 | # PHPExcel AutoFilter Reference
2 |
3 |
4 | ## Autofilter Expressions
5 |
6 | ### Simple filters
7 |
8 | In MS Excel, Simple Filters are a dropdown list of all values used in that column, and the user can select which ones they want to display and which ones they want to hide by ticking and unticking the checkboxes alongside each option. When the filter is applied, rows containing the checked entries will be displayed, rows that don't contain those values will be hidden.
9 |
10 | 
11 |
12 | To create a filter expression, we need to start by identifying the filter type. In this case, we're just going to specify that this filter is a standard filter.
13 |
14 | ```php
15 | $columnFilter->setFilterType(
16 | PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER
17 | );
18 | ```
19 |
20 | Now we've identified the filter type, we can create a filter rule and set the filter values:
21 |
22 | When creating a simple filter in PHPExcel, you only need to specify the values for "checked" columns: you do this by creating a filter rule for each value.
23 |
24 | ```php
25 | $columnFilter->createRule()
26 | ->setRule(
27 | PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
28 | 'France'
29 | );
30 |
31 | $columnFilter->createRule()
32 | ->setRule(
33 | PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
34 | 'Germany'
35 | );
36 | ```
37 |
38 | This creates two filter rules: the column will be filtered by values that match “France” OR “Germany”. For Simple Filters, you can create as many rules as you want
39 |
40 | Simple filters are always a comparison match of EQUALS, and multiple standard filters are always treated as being joined by an OR condition.
41 |
42 | #### Matching Blanks
43 |
44 | If you want to create a filter to select blank cells, you would use:
45 |
46 | ```php
47 | $columnFilter->createRule()
48 | ->setRule(
49 | PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
50 | ''
51 | );
52 | ```
53 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/Excel5/Color/BIFF5.php:
--------------------------------------------------------------------------------
1 | '000000',
7 | 0x09 => 'FFFFFF',
8 | 0x0A => 'FF0000',
9 | 0x0B => '00FF00',
10 | 0x0C => '0000FF',
11 | 0x0D => 'FFFF00',
12 | 0x0E => 'FF00FF',
13 | 0x0F => '00FFFF',
14 | 0x10 => '800000',
15 | 0x11 => '008000',
16 | 0x12 => '000080',
17 | 0x13 => '808000',
18 | 0x14 => '800080',
19 | 0x15 => '008080',
20 | 0x16 => 'C0C0C0',
21 | 0x17 => '808080',
22 | 0x18 => '8080FF',
23 | 0x19 => '802060',
24 | 0x1A => 'FFFFC0',
25 | 0x1B => 'A0E0F0',
26 | 0x1C => '600080',
27 | 0x1D => 'FF8080',
28 | 0x1E => '0080C0',
29 | 0x1F => 'C0C0FF',
30 | 0x20 => '000080',
31 | 0x21 => 'FF00FF',
32 | 0x22 => 'FFFF00',
33 | 0x23 => '00FFFF',
34 | 0x24 => '800080',
35 | 0x25 => '800000',
36 | 0x26 => '008080',
37 | 0x27 => '0000FF',
38 | 0x28 => '00CFFF',
39 | 0x29 => '69FFFF',
40 | 0x2A => 'E0FFE0',
41 | 0x2B => 'FFFF80',
42 | 0x2C => 'A6CAF0',
43 | 0x2D => 'DD9CB3',
44 | 0x2E => 'B38FEE',
45 | 0x2F => 'E3E3E3',
46 | 0x30 => '2A6FF9',
47 | 0x31 => '3FB8CD',
48 | 0x32 => '488436',
49 | 0x33 => '958C41',
50 | 0x34 => '8E5E42',
51 | 0x35 => 'A0627A',
52 | 0x36 => '624FAC',
53 | 0x37 => '969696',
54 | 0x38 => '1D2FBE',
55 | 0x39 => '286676',
56 | 0x3A => '004500',
57 | 0x3B => '453E01',
58 | 0x3C => '6A2813',
59 | 0x3D => '85396A',
60 | 0x3E => '4A3285',
61 | 0x3F => '424242',
62 | );
63 |
64 | /**
65 | * Map color array from BIFF5 built-in color index
66 | *
67 | * @param int $color
68 | * @return array
69 | */
70 | public static function lookup($color)
71 | {
72 | if (isset(self::$map[$color])) {
73 | return array('rgb' => self::$map[$color]);
74 | }
75 | return array('rgb' => '000000');
76 | }
77 | }
--------------------------------------------------------------------------------
/Classes/PHPExcel/Reader/Excel5/Color/BIFF8.php:
--------------------------------------------------------------------------------
1 | '000000',
7 | 0x09 => 'FFFFFF',
8 | 0x0A => 'FF0000',
9 | 0x0B => '00FF00',
10 | 0x0C => '0000FF',
11 | 0x0D => 'FFFF00',
12 | 0x0E => 'FF00FF',
13 | 0x0F => '00FFFF',
14 | 0x10 => '800000',
15 | 0x11 => '008000',
16 | 0x12 => '000080',
17 | 0x13 => '808000',
18 | 0x14 => '800080',
19 | 0x15 => '008080',
20 | 0x16 => 'C0C0C0',
21 | 0x17 => '808080',
22 | 0x18 => '9999FF',
23 | 0x19 => '993366',
24 | 0x1A => 'FFFFCC',
25 | 0x1B => 'CCFFFF',
26 | 0x1C => '660066',
27 | 0x1D => 'FF8080',
28 | 0x1E => '0066CC',
29 | 0x1F => 'CCCCFF',
30 | 0x20 => '000080',
31 | 0x21 => 'FF00FF',
32 | 0x22 => 'FFFF00',
33 | 0x23 => '00FFFF',
34 | 0x24 => '800080',
35 | 0x25 => '800000',
36 | 0x26 => '008080',
37 | 0x27 => '0000FF',
38 | 0x28 => '00CCFF',
39 | 0x29 => 'CCFFFF',
40 | 0x2A => 'CCFFCC',
41 | 0x2B => 'FFFF99',
42 | 0x2C => '99CCFF',
43 | 0x2D => 'FF99CC',
44 | 0x2E => 'CC99FF',
45 | 0x2F => 'FFCC99',
46 | 0x30 => '3366FF',
47 | 0x31 => '33CCCC',
48 | 0x32 => '99CC00',
49 | 0x33 => 'FFCC00',
50 | 0x34 => 'FF9900',
51 | 0x35 => 'FF6600',
52 | 0x36 => '666699',
53 | 0x37 => '969696',
54 | 0x38 => '003366',
55 | 0x39 => '339966',
56 | 0x3A => '003300',
57 | 0x3B => '333300',
58 | 0x3C => '993300',
59 | 0x3D => '993366',
60 | 0x3E => '333399',
61 | 0x3F => '333333',
62 | );
63 |
64 | /**
65 | * Map color array from BIFF8 built-in color index
66 | *
67 | * @param int $color
68 | * @return array
69 | */
70 | public static function lookup($color)
71 | {
72 | if (isset(self::$map[$color])) {
73 | return array('rgb' => self::$map[$color]);
74 | }
75 | return array('rgb' => '000000');
76 | }
77 | }
--------------------------------------------------------------------------------
/Classes/PHPExcel/Shared/Escher/DgContainer.php:
--------------------------------------------------------------------------------
1 | dgId;
49 | }
50 |
51 | public function setDgId($value)
52 | {
53 | $this->dgId = $value;
54 | }
55 |
56 | public function getLastSpId()
57 | {
58 | return $this->lastSpId;
59 | }
60 |
61 | public function setLastSpId($value)
62 | {
63 | $this->lastSpId = $value;
64 | }
65 |
66 | public function getSpgrContainer()
67 | {
68 | return $this->spgrContainer;
69 | }
70 |
71 | public function setSpgrContainer($spgrContainer)
72 | {
73 | return $this->spgrContainer = $spgrContainer;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader13.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #13
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #13
19 | Simple File Reader for Multiple CSV Files
20 | ';
35 | $objPHPExcel = $objReader->load($inputFileName);
36 | $objPHPExcel->getActiveSheet()->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME));
37 | foreach($inputFileNames as $sheet => $inputFileName) {
38 | echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' into WorkSheet #',($sheet+2),' using IOFactory with a defined reader type of ',$inputFileType,'
';
39 | $objReader->setSheetIndex($sheet+1);
40 | $objReader->loadIntoExisting($inputFileName,$objPHPExcel);
41 | $objPHPExcel->getActiveSheet()->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME));
42 | }
43 |
44 |
45 | echo '
';
46 |
47 | echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded
';
48 | $loadedSheetNames = $objPHPExcel->getSheetNames();
49 | foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
50 | echo 'Worksheet #',$sheetIndex,' -> ',$loadedSheetName,'
';
51 | $objPHPExcel->setActiveSheetIndexByName($loadedSheetName);
52 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
53 | var_dump($sheetData);
54 | echo '
';
55 | }
56 |
57 |
58 | ?>
59 |
60 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Architecture.cd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Classes\PHPExcel.cs
8 | AAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA=
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | Classes\Worksheet.cs
18 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
19 |
20 |
21 |
22 |
23 |
24 | Classes\IReader.cs
25 | AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | Classes\IWriter.cs
40 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Documentation/Examples/Calculations/DateTime/DATEVALUE.php:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 | PHPExcel Calculation Examples
15 |
16 |
17 |
18 |
19 | DATEVALUE
20 | Converts a date in the form of text to a serial number.
21 | getActiveSheet();
33 |
34 | // Add some data
35 | $testDates = array( '26 March 2012', '29 Feb 2012', 'April 1, 2012', '25/12/2012',
36 | '2012-Oct-31', '5th November', 'January 1st', 'April 2012',
37 | '17-03', '03-2012', '29 Feb 2011', '03-05-07',
38 | '03-MAY-07', '03-13-07',
39 | );
40 | $testDateCount = count($testDates);
41 |
42 | for($row = 1; $row <= $testDateCount; ++$row) {
43 | $worksheet->setCellValue('A'.$row, $testDates[$row-1]);
44 | $worksheet->setCellValue('B'.$row, '=DATEVALUE(A'.$row.')');
45 | $worksheet->setCellValue('C'.$row, '=B'.$row);
46 | }
47 |
48 | $worksheet->getStyle('C1:C'.$testDateCount)
49 | ->getNumberFormat()
50 | ->setFormatCode('yyyy-mmm-dd');
51 |
52 |
53 | echo '
';
54 |
55 |
56 | // Test the formulae
57 | ?>
58 | Warning: The PHPExcel DATEVALUE() function accepts a wider range of date formats than MS Excel's DATEFORMAT() function.
59 |
60 |
61 | | Date String |
62 | Formula |
63 | Excel DateStamp |
64 | Formatted DateStamp |
65 |
66 | ';
69 | echo '' , $worksheet->getCell('A'.$row)->getFormattedValue() , ' | ';
70 | echo '' , $worksheet->getCell('B'.$row)->getValue() , ' | ';
71 | echo '' , $worksheet->getCell('B'.$row)->getFormattedValue() , ' | ';
72 | echo '' , $worksheet->getCell('C'.$row)->getFormattedValue() , ' | ';
73 | echo '';
74 | }
75 | ?>
76 |
--------------------------------------------------------------------------------
/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Serialized.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace ClassDiagrams
6 | {
7 | public class PHPExcel_Writer_Serialized : PHPExcel_Writer_IWriter
8 | {
9 | #region IWriter Members
10 |
11 | public PHPExcel writes
12 | {
13 | get
14 | {
15 | throw new Exception("The method or operation is not implemented.");
16 | }
17 | set
18 | {
19 | throw new Exception("The method or operation is not implemented.");
20 | }
21 | }
22 |
23 | #endregion
24 | }
25 |
26 | public class PHPExcel_Writer_CSV : PHPExcel_Writer_IWriter
27 | {
28 | #region IWriter Members
29 |
30 | public PHPExcel writes
31 | {
32 | get
33 | {
34 | throw new Exception("The method or operation is not implemented.");
35 | }
36 | set
37 | {
38 | throw new Exception("The method or operation is not implemented.");
39 | }
40 | }
41 |
42 | #endregion
43 | }
44 |
45 | public class PHPExcel_Writer_Excel5 : PHPExcel_Writer_IWriter
46 | {
47 | #region IWriter Members
48 |
49 | public PHPExcel writes
50 | {
51 | get
52 | {
53 | throw new Exception("The method or operation is not implemented.");
54 | }
55 | set
56 | {
57 | throw new Exception("The method or operation is not implemented.");
58 | }
59 | }
60 |
61 | #endregion
62 | }
63 |
64 | public class PHPExcel_Writer_HTML : PHPExcel_Writer_IWriter
65 | {
66 | #region IWriter Members
67 |
68 | public PHPExcel writes
69 | {
70 | get
71 | {
72 | throw new Exception("The method or operation is not implemented.");
73 | }
74 | set
75 | {
76 | throw new Exception("The method or operation is not implemented.");
77 | }
78 | }
79 |
80 | #endregion
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reader/exampleReader10.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reader Example #10
14 |
15 |
16 |
17 |
18 | PHPExcel Reader Example #10
19 | Simple File Reader Using a Configurable Read Filter
20 | _startRow = $startRow;
48 | $this->_endRow = $endRow;
49 | $this->_columns = $columns;
50 | }
51 |
52 | public function readCell($column, $row, $worksheetName = '') {
53 | if ($row >= $this->_startRow && $row <= $this->_endRow) {
54 | if (in_array($column,$this->_columns)) {
55 | return true;
56 | }
57 | }
58 | return false;
59 | }
60 | }
61 |
62 | $filterSubset = new MyReadFilter(9,15,range('G','K'));
63 |
64 |
65 | echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'
';
66 | $objReader = PHPExcel_IOFactory::createReader($inputFileType);
67 | echo 'Loading Sheet "',$sheetname,'" only
';
68 | $objReader->setLoadSheetsOnly($sheetname);
69 | echo 'Loading Sheet using configurable filter
';
70 | $objReader->setReadFilter($filterSubset);
71 | $objPHPExcel = $objReader->load($inputFileName);
72 |
73 |
74 | echo '
';
75 |
76 | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
77 | var_dump($sheetData);
78 |
79 |
80 | ?>
81 |
82 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Chart/Title.php:
--------------------------------------------------------------------------------
1 | caption = $caption;
51 | $this->layout = $layout;
52 | }
53 |
54 | /**
55 | * Get caption
56 | *
57 | * @return string
58 | */
59 | public function getCaption()
60 | {
61 | return $this->caption;
62 | }
63 |
64 | /**
65 | * Set caption
66 | *
67 | * @param string $caption
68 | * @return PHPExcel_Chart_Title
69 | */
70 | public function setCaption($caption = null)
71 | {
72 | $this->caption = $caption;
73 |
74 | return $this;
75 | }
76 |
77 | /**
78 | * Get Layout
79 | *
80 | * @return PHPExcel_Chart_Layout
81 | */
82 | public function getLayout()
83 | {
84 | return $this->layout;
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/Documentation/Examples/Calculations/DateTime/TIME.php:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 | PHPExcel Calculation Examples
15 |
16 |
17 |
18 |
19 | TIME
20 | Returns the serial number of a particular time.
21 | getActiveSheet();
33 |
34 | // Add some data
35 | $testDates = array( array(3,15), array(13,15), array(15,15,15), array(3,15,30),
36 | array(15,15,15), array(5), array(9,15,0), array(9,15,-1),
37 | array(13,-14,-15), array(0,0,-1)
38 | );
39 | $testDateCount = count($testDates);
40 |
41 | $worksheet->fromArray($testDates,NULL,'A1',true);
42 |
43 | for ($row = 1; $row <= $testDateCount; ++$row) {
44 | $worksheet->setCellValue('D'.$row, '=TIME(A'.$row.',B'.$row.',C'.$row.')');
45 | $worksheet->setCellValue('E'.$row, '=D'.$row);
46 | }
47 | $worksheet->getStyle('E1:E'.$testDateCount)
48 | ->getNumberFormat()
49 | ->setFormatCode('hh:mm:ss');
50 |
51 |
52 | echo '
';
53 |
54 |
55 | // Test the formulae
56 | ?>
57 |
58 |
59 | | Date Value |
60 | Formula |
61 | Excel TimeStamp |
62 | Formatted TimeStamp |
63 |
64 |
65 | | Hour |
66 | Minute |
67 | Second |
68 |
69 | ';
72 | echo '| ' , $worksheet->getCell('A'.$row)->getFormattedValue() , ' | ';
73 | echo '' , $worksheet->getCell('B'.$row)->getFormattedValue() , ' | ';
74 | echo '' , $worksheet->getCell('C'.$row)->getFormattedValue() , ' | ';
75 | echo '' , $worksheet->getCell('D'.$row)->getValue() , ' | ';
76 | echo '' , $worksheet->getCell('D'.$row)->getFormattedValue() , ' | ';
77 | echo '' , $worksheet->getCell('E'.$row)->getFormattedValue() , ' | ';
78 | echo '
';
79 | }
80 | ?>
81 |
--------------------------------------------------------------------------------
/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader03.php:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | PHPExcel Reading WorkBook Data Example #03
14 |
15 |
16 |
17 |
18 | PHPExcel Reading WorkBook Data Example #03
19 | Read Custom Property Values for a WorkBook
20 | load($inputFileName);
36 |
37 |
38 | echo '
';
39 |
40 | /** Read an array list of any custom properties for this document **/
41 | $customPropertyList = $objPHPExcel->getProperties()->getCustomProperties();
42 |
43 | echo 'Custom Properties:
';
44 | /** Loop through the list of custom properties **/
45 | foreach($customPropertyList as $customPropertyName) {
46 | echo '',$customPropertyName,': ';
47 | /** Retrieve the property value **/
48 | $propertyValue = $objPHPExcel->getProperties()->getCustomPropertyValue($customPropertyName);
49 | /** Retrieve the property type **/
50 | $propertyType = $objPHPExcel->getProperties()->getCustomPropertyType($customPropertyName);
51 |
52 | /** Manipulate properties as appropriate for display purposes **/
53 | switch($propertyType) {
54 | case 'i' : // integer
55 | $propertyType = 'integer number';
56 | break;
57 | case 'f' : // float
58 | $propertyType = 'floating point number';
59 | break;
60 | case 's' : // string
61 | $propertyType = 'string';
62 | break;
63 | case 'd' : // date
64 | $propertyValue = date('l, d<\s\up>S\s\up> F Y g:i A',$propertyValue);
65 | $propertyType = 'date';
66 | break;
67 | case 'b' : // boolean
68 | $propertyValue = ($propertyValue) ? 'TRUE' : 'FALSE';
69 | $propertyType = 'boolean';
70 | break;
71 | }
72 |
73 | echo $propertyValue,' (',$propertyType,')
';
74 | }
75 |
76 |
77 |
78 | ?>
79 |
80 |
81 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php:
--------------------------------------------------------------------------------
1 | data;
52 | }
53 |
54 | /**
55 | * Set the raw image data
56 | *
57 | * @param string
58 | */
59 | public function setData($data)
60 | {
61 | $this->data = $data;
62 | }
63 |
64 | /**
65 | * Set parent BSE
66 | *
67 | * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent
68 | */
69 | public function setParent($parent)
70 | {
71 | $this->parent = $parent;
72 | }
73 |
74 | /**
75 | * Get parent BSE
76 | *
77 | * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent
78 | */
79 | public function getParent()
80 | {
81 | return $this->parent;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/Examples/OOCalcReader.php:
--------------------------------------------------------------------------------
1 | load("OOCalcTest.ods");
41 |
42 |
43 | $callEndTime = microtime(true);
44 | $callTime = $callEndTime - $callStartTime;
45 | echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , PHP_EOL;
46 | // Echo memory usage
47 | echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
48 |
49 |
50 | echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL;
51 | $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
52 | $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
53 | echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL;
54 |
55 |
56 | // Echo memory peak usage
57 | echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
58 |
59 | // Echo done
60 | echo date('H:i:s') , " Done writing file" , PHP_EOL;
61 |
62 |
--------------------------------------------------------------------------------
/Examples/GnumericReader.php:
--------------------------------------------------------------------------------
1 | load("GnumericTest.gnumeric");
41 |
42 |
43 | $callEndTime = microtime(true);
44 | $callTime = $callEndTime - $callStartTime;
45 | echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , PHP_EOL;
46 | // Echo memory usage
47 | echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
48 |
49 |
50 | echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL;
51 | $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
52 | $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
53 | echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL;
54 |
55 |
56 | // Echo memory peak usage
57 | echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
58 |
59 | // Echo done
60 | echo date('H:i:s') , " Done writing file" , PHP_EOL;
61 |
--------------------------------------------------------------------------------
/Examples/XMLReader.php:
--------------------------------------------------------------------------------
1 | load($inputFileName);
48 |
49 |
50 | echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL;
51 | $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
52 | $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
53 | echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL;
54 |
55 |
56 | // Echo memory peak usage
57 | echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
58 |
59 | // Echo done
60 | echo date('H:i:s') , " Done writing file" , PHP_EOL;
61 |
--------------------------------------------------------------------------------
/Examples/14excel5.php:
--------------------------------------------------------------------------------
1 | ');
34 |
35 | date_default_timezone_set('Europe/London');
36 |
37 | include "05featuredemo.inc.php";
38 |
39 | /** PHPExcel_IOFactory */
40 | require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';
41 |
42 |
43 | // Save Excel 95 file
44 | echo date('H:i:s') , " Write to Excel5 format" , EOL;
45 | $callStartTime = microtime(true);
46 |
47 | $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
48 | $objWriter->save(str_replace('.php', '.xls', __FILE__));
49 | $callEndTime = microtime(true);
50 | $callTime = $callEndTime - $callStartTime;
51 |
52 | echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;
53 | echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL;
54 | // Echo memory usage
55 | echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;
56 |
57 |
58 | // Echo memory peak usage
59 | echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;
60 |
61 | // Echo done
62 | echo date('H:i:s') , " Done writing file" , EOL;
63 | echo 'File has been created in ' , getcwd() , EOL;
64 |
--------------------------------------------------------------------------------
/Examples/Excel2003XMLReader.php:
--------------------------------------------------------------------------------
1 | load("Excel2003XMLTest.xml");
42 |
43 |
44 | $callEndTime = microtime(true);
45 | $callTime = $callEndTime - $callStartTime;
46 | echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , PHP_EOL;
47 | // Echo memory usage
48 | echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
49 |
50 |
51 | echo date('H:i:s') , " Write to Excel5 format" , PHP_EOL;
52 | $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
53 | $objWriter->save(str_replace('.php', '.xls', __FILE__));
54 | echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', __FILE__) , PHP_EOL;
55 |
56 |
57 | // Echo memory peak usage
58 | echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL;
59 |
60 | // Echo done
61 | echo date('H:i:s') , " Done writing file" , PHP_EOL;
62 |
--------------------------------------------------------------------------------
/Classes/PHPExcel/Shared/Escher.php:
--------------------------------------------------------------------------------
1 | dggContainer;
52 | }
53 |
54 | /**
55 | * Set Drawing Group Container
56 | *
57 | * @param PHPExcel_Shared_Escher_DggContainer $dggContainer
58 | */
59 | public function setDggContainer($dggContainer)
60 | {
61 | return $this->dggContainer = $dggContainer;
62 | }
63 |
64 | /**
65 | * Get Drawing Container
66 | *
67 | * @return PHPExcel_Shared_Escher_DgContainer
68 | */
69 | public function getDgContainer()
70 | {
71 | return $this->dgContainer;
72 | }
73 |
74 | /**
75 | * Set Drawing Container
76 | *
77 | * @param PHPExcel_Shared_Escher_DgContainer $dgContainer
78 | */
79 | public function setDgContainer($dgContainer)
80 | {
81 | return $this->dgContainer = $dgContainer;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------