All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
LOGNORM.DIST()
, NORM.S.DIST()
, GAMMA()
and GAUSS()
functions. #1588B2
would be treated identically to a named range cell reference of $B2
or B$2
or $B$2
because the calculation engine treated then all as absolute references. These changes "fix" that, so the calculation engine now handles relative references in named ranges correctly.
This change that resolves previously incorrect behaviour in the calculation may affect users who have dynamically defined named ranges using relative references when they should have used absolute references.Settings::setHttpClient()
#1562src/
#1424@return $this
for fluent methods #1362#N/A
#1165*?~
Excel functionality, when match_type=0 #1116getSheetByName()
with tests for name with quote and spaces #739getCalculatedValue()
error with more than two INDIRECT #1115libxml_disable_entity_loader
setting when reading XML-based formats, so that it is enabled while the xml is being parsed and not simply while it is loaded.
On some versions of PHP, this can cause problems because it is not thread-safe, and can affect other PHP scripts running on the same server. This flag is set to true when instantiating a loader, and back to its original setting when the Reader is no longer in scope, or manually unset.XmlScanner::threadSafeLibxmlDisableEntityLoaderAvailability()
- Provide an option to disable the libxml_disable_entity_loader call through settings. This is not recommended as it reduces the security of the XML-based readers, and should only be used if you understand the consequences and have no other choice.
tsv
extension when opening CSV files #429=
libxml_disable_entity_loader()
as shortly as possible #819//IGNORE//TRANSLIT
on IBM i #791master
is the new default branch, develop
does not exist anymoreDefaultValueBinder::dataTypeForValue()
without overriding DefaultValueBinder::bindValue()
#735Worksheet::SHEET_TITLE_MAXIMUM_LENGTH
#482Helper\Html
support UTF-8 HTML input #444Coordinate::extractAllCellReferencesInRange()
throws an exception for an invalid range #519_xlfn.
prefixed functions and ISFORMULA
, MODE.SNGL
, STDEV.S
, STDEV.P
#390setStrikethrough()
did not set the font #403;
#304COLUMNS
and ROWS
functions crashed in some cases #336topLeftCell
in freeze panes #261DateTimeImmutable
as cell valueTYPE_DOUGHTNUTCHART
is now TYPE_DOUGHNUTCHART
.Reader\Xlsx::getFromZipArchive()
function return false if the zip entry could not be located. - @anton-harvey #268CalcEngine
=> Calculation\Engine
PhpSpreadsheet\Calculation
=> PhpSpreadsheet\Calculation\Calculation
PhpSpreadsheet\Cell
=> PhpSpreadsheet\Cell\Cell
PhpSpreadsheet\Chart
=> PhpSpreadsheet\Chart\Chart
PhpSpreadsheet\RichText
=> PhpSpreadsheet\RichText\RichText
PhpSpreadsheet\Style
=> PhpSpreadsheet\Style\Style
PhpSpreadsheet\Worksheet
=> PhpSpreadsheet\Worksheet\Worksheet
PHPExcel_Calculation_Functions
becomes PhpOffice\PhpSpreadsheet\Calculation\Functions
For a comprehensive list of all class changes, and a semi-automated migration path, read the migration guide.
PHPExcel_Calculation_Functions::VERSION()
. Composer or git should be used to know the version.PHPExcel_Settings::setPdfRenderer()
and PHPExcel_Settings::setPdfRenderer()
. Composer should be used to autoload PDF libs.The changelog for the project when it was called PHPExcel is still available.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.