initial commit of SVN release repo
This commit is contained in:
101
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter.php
vendored
Normal file
101
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter.php
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create the worksheet
|
||||
$helper->log('Add data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Year')
|
||||
->setCellValue('B1', 'Quarter')
|
||||
->setCellValue('C1', 'Country')
|
||||
->setCellValue('D1', 'Sales');
|
||||
|
||||
$dataArray = [
|
||||
['2010', 'Q1', 'United States', 790],
|
||||
['2010', 'Q2', 'United States', 730],
|
||||
['2010', 'Q3', 'United States', 860],
|
||||
['2010', 'Q4', 'United States', 850],
|
||||
['2011', 'Q1', 'United States', 800],
|
||||
['2011', 'Q2', 'United States', 700],
|
||||
['2011', 'Q3', 'United States', 900],
|
||||
['2011', 'Q4', 'United States', 950],
|
||||
['2010', 'Q1', 'Belgium', 380],
|
||||
['2010', 'Q2', 'Belgium', 390],
|
||||
['2010', 'Q3', 'Belgium', 420],
|
||||
['2010', 'Q4', 'Belgium', 460],
|
||||
['2011', 'Q1', 'Belgium', 400],
|
||||
['2011', 'Q2', 'Belgium', 350],
|
||||
['2011', 'Q3', 'Belgium', 450],
|
||||
['2011', 'Q4', 'Belgium', 500],
|
||||
['2010', 'Q1', 'UK', 690],
|
||||
['2010', 'Q2', 'UK', 610],
|
||||
['2010', 'Q3', 'UK', 620],
|
||||
['2010', 'Q4', 'UK', 600],
|
||||
['2011', 'Q1', 'UK', 720],
|
||||
['2011', 'Q2', 'UK', 650],
|
||||
['2011', 'Q3', 'UK', 580],
|
||||
['2011', 'Q4', 'UK', 510],
|
||||
['2010', 'Q1', 'France', 510],
|
||||
['2010', 'Q2', 'France', 490],
|
||||
['2010', 'Q3', 'France', 460],
|
||||
['2010', 'Q4', 'France', 590],
|
||||
['2011', 'Q1', 'France', 620],
|
||||
['2011', 'Q2', 'France', 650],
|
||||
['2011', 'Q3', 'France', 415],
|
||||
['2011', 'Q4', 'France', 570],
|
||||
['2010', 'Q1', 'Germany', 720],
|
||||
['2010', 'Q2', 'Germany', 680],
|
||||
['2010', 'Q3', 'Germany', 640],
|
||||
['2010', 'Q4', 'Germany', 660],
|
||||
['2011', 'Q1', 'Germany', 680],
|
||||
['2011', 'Q2', 'Germany', 620],
|
||||
['2011', 'Q3', 'Germany', 710],
|
||||
['2011', 'Q4', 'Germany', 690],
|
||||
['2010', 'Q1', 'Spain', 510],
|
||||
['2010', 'Q2', 'Spain', 490],
|
||||
['2010', 'Q3', 'Spain', 470],
|
||||
['2010', 'Q4', 'Spain', 420],
|
||||
['2011', 'Q1', 'Spain', 460],
|
||||
['2011', 'Q2', 'Spain', 390],
|
||||
['2011', 'Q3', 'Spain', 430],
|
||||
['2011', 'Q4', 'Spain', 415],
|
||||
['2010', 'Q1', 'Italy', 440],
|
||||
['2010', 'Q2', 'Italy', 410],
|
||||
['2010', 'Q3', 'Italy', 420],
|
||||
['2010', 'Q4', 'Italy', 450],
|
||||
['2011', 'Q1', 'Italy', 430],
|
||||
['2011', 'Q2', 'Italy', 370],
|
||||
['2011', 'Q3', 'Italy', 350],
|
||||
['2011', 'Q4', 'Italy', 335],
|
||||
];
|
||||
$spreadsheet->getActiveSheet()->fromArray($dataArray, null, 'A2');
|
||||
|
||||
// Set title row bold
|
||||
$helper->log('Set title row bold');
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);
|
||||
|
||||
// Set autofilter
|
||||
$helper->log('Set autofilter');
|
||||
// Always include the complete filter range!
|
||||
// Excel does support setting only the caption
|
||||
// row, but that's not a best practise...
|
||||
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
156
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter_selection_1.php
vendored
Normal file
156
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter_selection_1.php
vendored
Normal file
@ -0,0 +1,156 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create the worksheet
|
||||
$helper->log('Add data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Financial Year')
|
||||
->setCellValue('B1', 'Financial Period')
|
||||
->setCellValue('C1', 'Country')
|
||||
->setCellValue('D1', 'Date')
|
||||
->setCellValue('E1', 'Sales Value')
|
||||
->setCellValue('F1', 'Expenditure');
|
||||
$startYear = $endYear = $currentYear = date('Y');
|
||||
--$startYear;
|
||||
++$endYear;
|
||||
|
||||
$years = range($startYear, $endYear);
|
||||
$periods = range(1, 12);
|
||||
$countries = [
|
||||
'United States',
|
||||
'UK',
|
||||
'France',
|
||||
'Germany',
|
||||
'Italy',
|
||||
'Spain',
|
||||
'Portugal',
|
||||
'Japan',
|
||||
];
|
||||
|
||||
$row = 2;
|
||||
foreach ($years as $year) {
|
||||
foreach ($periods as $period) {
|
||||
foreach ($countries as $country) {
|
||||
$endDays = date('t', mktime(0, 0, 0, $period, 1, $year));
|
||||
for ($i = 1; $i <= $endDays; ++$i) {
|
||||
$eDate = Date::formattedPHPToExcel(
|
||||
$year,
|
||||
$period,
|
||||
$i
|
||||
);
|
||||
$value = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
$salesValue = $invoiceValue = null;
|
||||
$incomeOrExpenditure = rand(-1, 1);
|
||||
if ($incomeOrExpenditure == -1) {
|
||||
$expenditure = rand(-500, -1000) * (1 + rand(-0.25, +0.25));
|
||||
$income = null;
|
||||
} elseif ($incomeOrExpenditure == 1) {
|
||||
$expenditure = rand(-500, -1000) * (1 + rand(-0.25, +0.25));
|
||||
$income = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
} else {
|
||||
$expenditure = null;
|
||||
$income = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
}
|
||||
$dataArray = [$year,
|
||||
$period,
|
||||
$country,
|
||||
$eDate,
|
||||
$income,
|
||||
$expenditure,
|
||||
];
|
||||
$spreadsheet->getActiveSheet()->fromArray($dataArray, null, 'A' . $row++);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
--$row;
|
||||
|
||||
// Set styling
|
||||
$helper->log('Set styling');
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:F1')->getFont()->setBold(true);
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:F1')->getAlignment()->setWrapText(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('C')->setWidth(12.5);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('D')->setWidth(10.5);
|
||||
$spreadsheet->getActiveSheet()->getStyle('D2:D' . $row)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_DATE_YYYYMMDD2);
|
||||
$spreadsheet->getActiveSheet()->getStyle('E2:F' . $row)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_CURRENCY_USD_SIMPLE);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('F')->setWidth(14);
|
||||
$spreadsheet->getActiveSheet()->freezePane('A2');
|
||||
|
||||
// Set autofilter range
|
||||
$helper->log('Set autofilter range');
|
||||
// Always include the complete filter range!
|
||||
// Excel does support setting only the caption
|
||||
// row, but that's not a best practise...
|
||||
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
|
||||
|
||||
// Set active filters
|
||||
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
|
||||
$helper->log('Set active filters');
|
||||
// Filter the Country column on a filter value of countries beginning with the letter U (or Japan)
|
||||
// We use * as a wildcard, so specify as U* and using a wildcard requires customFilter
|
||||
$autoFilter->getColumn('C')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
'u*'
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
$autoFilter->getColumn('C')
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
'japan'
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
// Filter the Date column on a filter value of the first day of every period of the current year
|
||||
// We us a dateGroup ruletype for this, although it is still a standard filter
|
||||
foreach ($periods as $period) {
|
||||
$endDate = date('t', mktime(0, 0, 0, $period, 1, $currentYear));
|
||||
|
||||
$autoFilter->getColumn('D')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
[
|
||||
'year' => $currentYear,
|
||||
'month' => $period,
|
||||
'day' => $endDate,
|
||||
]
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_DATEGROUP);
|
||||
}
|
||||
// Display only sales values that are blank
|
||||
// Standard filter, operator equals, and value of NULL
|
||||
$autoFilter->getColumn('E')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
''
|
||||
);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
148
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter_selection_2.php
vendored
Normal file
148
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter_selection_2.php
vendored
Normal file
@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create the worksheet
|
||||
$helper->log('Add data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Financial Year')
|
||||
->setCellValue('B1', 'Financial Period')
|
||||
->setCellValue('C1', 'Country')
|
||||
->setCellValue('D1', 'Date')
|
||||
->setCellValue('E1', 'Sales Value')
|
||||
->setCellValue('F1', 'Expenditure');
|
||||
$startYear = $endYear = $currentYear = date('Y');
|
||||
--$startYear;
|
||||
++$endYear;
|
||||
|
||||
$years = range($startYear, $endYear);
|
||||
$periods = range(1, 12);
|
||||
$countries = [
|
||||
'United States',
|
||||
'UK',
|
||||
'France',
|
||||
'Germany',
|
||||
'Italy',
|
||||
'Spain',
|
||||
'Portugal',
|
||||
'Japan',
|
||||
];
|
||||
|
||||
$row = 2;
|
||||
foreach ($years as $year) {
|
||||
foreach ($periods as $period) {
|
||||
foreach ($countries as $country) {
|
||||
$endDays = date('t', mktime(0, 0, 0, $period, 1, $year));
|
||||
for ($i = 1; $i <= $endDays; ++$i) {
|
||||
$eDate = Date::formattedPHPToExcel(
|
||||
$year,
|
||||
$period,
|
||||
$i
|
||||
);
|
||||
$value = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
$salesValue = $invoiceValue = null;
|
||||
$incomeOrExpenditure = rand(-1, 1);
|
||||
if ($incomeOrExpenditure == -1) {
|
||||
$expenditure = rand(-500, -1000) * (1 + rand(-0.25, +0.25));
|
||||
$income = null;
|
||||
} elseif ($incomeOrExpenditure == 1) {
|
||||
$expenditure = rand(-500, -1000) * (1 + rand(-0.25, +0.25));
|
||||
$income = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
} else {
|
||||
$expenditure = null;
|
||||
$income = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
}
|
||||
$dataArray = [$year,
|
||||
$period,
|
||||
$country,
|
||||
$eDate,
|
||||
$income,
|
||||
$expenditure,
|
||||
];
|
||||
$spreadsheet->getActiveSheet()->fromArray($dataArray, null, 'A' . $row++);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
--$row;
|
||||
|
||||
// Set styling
|
||||
$helper->log('Set styling');
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:F1')->getFont()->setBold(true);
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:F1')->getAlignment()->setWrapText(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('C')->setWidth(12.5);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('D')->setWidth(10.5);
|
||||
$spreadsheet->getActiveSheet()->getStyle('D2:D' . $row)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_DATE_YYYYMMDD2);
|
||||
$spreadsheet->getActiveSheet()->getStyle('E2:F' . $row)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_CURRENCY_USD_SIMPLE);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('F')->setWidth(14);
|
||||
$spreadsheet->getActiveSheet()->freezePane('A2');
|
||||
|
||||
// Set autofilter range
|
||||
$helper->log('Set autofilter range');
|
||||
// Always include the complete filter range!
|
||||
// Excel does support setting only the caption
|
||||
// row, but that's not a best practise...
|
||||
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
|
||||
|
||||
// Set active filters
|
||||
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
|
||||
$helper->log('Set active filters');
|
||||
// Filter the Country column on a filter value of Germany
|
||||
// As it's just a simple value filter, we can use FILTERTYPE_FILTER
|
||||
$autoFilter->getColumn('C')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
'Germany'
|
||||
);
|
||||
// Filter the Date column on a filter value of the year to date
|
||||
$autoFilter->getColumn('D')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
null,
|
||||
Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER);
|
||||
// Display only sales values that are between 400 and 600
|
||||
$autoFilter->getColumn('E')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL,
|
||||
400
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
$autoFilter->getColumn('E')
|
||||
->setJoin(Column::AUTOFILTER_COLUMN_JOIN_AND)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL,
|
||||
600
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
170
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter_selection_display.php
vendored
Normal file
170
inc/vendor/phpoffice/phpspreadsheet/samples/Autofilter/10_Autofilter_selection_display.php
vendored
Normal file
@ -0,0 +1,170 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create the worksheet
|
||||
$helper->log('Add data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Financial Year')
|
||||
->setCellValue('B1', 'Financial Period')
|
||||
->setCellValue('C1', 'Country')
|
||||
->setCellValue('D1', 'Date')
|
||||
->setCellValue('E1', 'Sales Value')
|
||||
->setCellValue('F1', 'Expenditure');
|
||||
$startYear = $endYear = $currentYear = date('Y');
|
||||
--$startYear;
|
||||
++$endYear;
|
||||
|
||||
$years = range($startYear, $endYear);
|
||||
$periods = range(1, 12);
|
||||
$countries = [
|
||||
'United States',
|
||||
'UK',
|
||||
'France',
|
||||
'Germany',
|
||||
'Italy',
|
||||
'Spain',
|
||||
'Portugal',
|
||||
'Japan',
|
||||
];
|
||||
|
||||
$row = 2;
|
||||
foreach ($years as $year) {
|
||||
foreach ($periods as $period) {
|
||||
foreach ($countries as $country) {
|
||||
$endDays = date('t', mktime(0, 0, 0, $period, 1, $year));
|
||||
for ($i = 1; $i <= $endDays; ++$i) {
|
||||
$eDate = Date::formattedPHPToExcel(
|
||||
$year,
|
||||
$period,
|
||||
$i
|
||||
);
|
||||
$value = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
$salesValue = $invoiceValue = null;
|
||||
$incomeOrExpenditure = rand(-1, 1);
|
||||
if ($incomeOrExpenditure == -1) {
|
||||
$expenditure = rand(-500, -1000) * (1 + rand(-0.25, +0.25));
|
||||
$income = null;
|
||||
} elseif ($incomeOrExpenditure == 1) {
|
||||
$expenditure = rand(-500, -1000) * (1 + rand(-0.25, +0.25));
|
||||
$income = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
} else {
|
||||
$expenditure = null;
|
||||
$income = rand(500, 1000) * (1 + rand(-0.25, +0.25));
|
||||
}
|
||||
$dataArray = [$year,
|
||||
$period,
|
||||
$country,
|
||||
$eDate,
|
||||
$income,
|
||||
$expenditure,
|
||||
];
|
||||
$spreadsheet->getActiveSheet()->fromArray($dataArray, null, 'A' . $row++);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
--$row;
|
||||
|
||||
// Set styling
|
||||
$helper->log('Set styling');
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:F1')->getFont()->setBold(true);
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:F1')->getAlignment()->setWrapText(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('C')->setWidth(12.5);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('D')->setWidth(10.5);
|
||||
$spreadsheet->getActiveSheet()->getStyle('D2:D' . $row)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_DATE_YYYYMMDD2);
|
||||
$spreadsheet->getActiveSheet()->getStyle('E2:F' . $row)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_CURRENCY_USD_SIMPLE);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('F')->setWidth(14);
|
||||
$spreadsheet->getActiveSheet()->freezePane('A2');
|
||||
|
||||
// Set autofilter range
|
||||
$helper->log('Set autofilter range');
|
||||
// Always include the complete filter range!
|
||||
// Excel does support setting only the caption
|
||||
// row, but that's not a best practise...
|
||||
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
|
||||
|
||||
// Set active filters
|
||||
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
|
||||
$helper->log('Set active filters');
|
||||
// Filter the Country column on a filter value of countries beginning with the letter U (or Japan)
|
||||
// We use * as a wildcard, so specify as U* and using a wildcard requires customFilter
|
||||
$autoFilter->getColumn('C')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
'u*'
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
$autoFilter->getColumn('C')
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
'japan'
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
// Filter the Date column on a filter value of the first day of every period of the current year
|
||||
// We us a dateGroup ruletype for this, although it is still a standard filter
|
||||
foreach ($periods as $period) {
|
||||
$endDate = date('t', mktime(0, 0, 0, $period, 1, $currentYear));
|
||||
|
||||
$autoFilter->getColumn('D')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
[
|
||||
'year' => $currentYear,
|
||||
'month' => $period,
|
||||
'day' => $endDate,
|
||||
]
|
||||
)
|
||||
->setRuleType(Rule::AUTOFILTER_RULETYPE_DATEGROUP);
|
||||
}
|
||||
// Display only sales values that are blank
|
||||
// Standard filter, operator equals, and value of NULL
|
||||
$autoFilter->getColumn('E')
|
||||
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
|
||||
->createRule()
|
||||
->setRule(
|
||||
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
|
||||
''
|
||||
);
|
||||
|
||||
// Execute filtering
|
||||
$helper->log('Execute filtering');
|
||||
$autoFilter->showHideRows();
|
||||
|
||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
// Display Results of filtering
|
||||
$helper->log('Display filtered rows');
|
||||
foreach ($spreadsheet->getActiveSheet()->getRowIterator() as $row) {
|
||||
if ($spreadsheet->getActiveSheet()->getRowDimension($row->getRowIndex())->getVisible()) {
|
||||
$helper->log(' Row number - ' . $row->getRowIndex());
|
||||
$helper->log($spreadsheet->getActiveSheet()->getCell('C' . $row->getRowIndex())->getValue());
|
||||
$helper->log($spreadsheet->getActiveSheet()->getCell('D' . $row->getRowIndex())->getFormattedValue());
|
||||
}
|
||||
}
|
65
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple.php
vendored
Normal file
65
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple.php
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()
|
||||
->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A1', 'Hello')
|
||||
->setCellValue('B2', 'world!')
|
||||
->setCellValue('C1', 'Hello')
|
||||
->setCellValue('D2', 'world!');
|
||||
|
||||
// Miscellaneous glyphs, UTF-8
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A4', 'Miscellaneous glyphs')
|
||||
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A8', "Hello\nWorld");
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getRowDimension(8)
|
||||
->setRowHeight(-1);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('A8')
|
||||
->getAlignment()
|
||||
->setWrapText(true);
|
||||
|
||||
$value = "-ValueA\n-Value B\n-Value C";
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A10', $value);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getRowDimension(10)
|
||||
->setRowHeight(-1);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('A10')
|
||||
->getAlignment()
|
||||
->setWrapText(true);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('A10')
|
||||
->setQuotePrefix(true);
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setTitle('Simple');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
61
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_ods.php
vendored
Normal file
61
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_ods.php
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Helper\Sample;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require_once __DIR__ . '/../../src/Bootstrap.php';
|
||||
|
||||
$helper = new Sample();
|
||||
if ($helper->isCli()) {
|
||||
$helper->log('This example should only be run from a Web Browser' . PHP_EOL);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A1', 'Hello')
|
||||
->setCellValue('B2', 'world!')
|
||||
->setCellValue('C1', 'Hello')
|
||||
->setCellValue('D2', 'world!');
|
||||
|
||||
// Miscellaneous glyphs, UTF-8
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A4', 'Miscellaneous glyphs')
|
||||
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
|
||||
|
||||
// Rename worksheet
|
||||
$spreadsheet->getActiveSheet()->setTitle('Simple');
|
||||
|
||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
// Redirect output to a client’s web browser (Ods)
|
||||
header('Content-Type: application/vnd.oasis.opendocument.spreadsheet');
|
||||
header('Content-Disposition: attachment;filename="01simple.ods"');
|
||||
header('Cache-Control: max-age=0');
|
||||
// If you're serving to IE 9, then the following may be needed
|
||||
header('Cache-Control: max-age=1');
|
||||
|
||||
// If you're serving to IE over SSL, then the following may be needed
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
|
||||
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
|
||||
header('Pragma: public'); // HTTP/1.0
|
||||
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Ods');
|
||||
$writer->save('php://output');
|
||||
exit;
|
56
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_pdf.php
vendored
Normal file
56
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_pdf.php
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Helper\Sample;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require_once __DIR__ . '/../../src/Bootstrap.php';
|
||||
|
||||
$helper = new Sample();
|
||||
if ($helper->isCli()) {
|
||||
$helper->log('This example should only be run from a Web Browser' . PHP_EOL);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PDF Test Document')
|
||||
->setSubject('PDF Test Document')
|
||||
->setDescription('Test document for PDF, generated using PHP classes.')
|
||||
->setKeywords('pdf php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A1', 'Hello')
|
||||
->setCellValue('B2', 'world!')
|
||||
->setCellValue('C1', 'Hello')
|
||||
->setCellValue('D2', 'world!');
|
||||
|
||||
// Miscellaneous glyphs, UTF-8
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A4', 'Miscellaneous glyphs')
|
||||
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
|
||||
|
||||
// Rename worksheet
|
||||
$spreadsheet->getActiveSheet()->setTitle('Simple');
|
||||
$spreadsheet->getActiveSheet()->setShowGridLines(false);
|
||||
|
||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
IOFactory::registerWriter('Pdf', \PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf::class);
|
||||
|
||||
// Redirect output to a client’s web browser (PDF)
|
||||
header('Content-Type: application/pdf');
|
||||
header('Content-Disposition: attachment;filename="01simple.pdf"');
|
||||
header('Cache-Control: max-age=0');
|
||||
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Pdf');
|
||||
$writer->save('php://output');
|
||||
exit;
|
61
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_xls.php
vendored
Normal file
61
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_xls.php
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Helper\Sample;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require_once __DIR__ . '/../../src/Bootstrap.php';
|
||||
|
||||
$helper = new Sample();
|
||||
if ($helper->isCli()) {
|
||||
$helper->log('This example should only be run from a Web Browser' . PHP_EOL);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A1', 'Hello')
|
||||
->setCellValue('B2', 'world!')
|
||||
->setCellValue('C1', 'Hello')
|
||||
->setCellValue('D2', 'world!');
|
||||
|
||||
// Miscellaneous glyphs, UTF-8
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A4', 'Miscellaneous glyphs')
|
||||
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
|
||||
|
||||
// Rename worksheet
|
||||
$spreadsheet->getActiveSheet()->setTitle('Simple');
|
||||
|
||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
// Redirect output to a client’s web browser (Xls)
|
||||
header('Content-Type: application/vnd.ms-excel');
|
||||
header('Content-Disposition: attachment;filename="01simple.xls"');
|
||||
header('Cache-Control: max-age=0');
|
||||
// If you're serving to IE 9, then the following may be needed
|
||||
header('Cache-Control: max-age=1');
|
||||
|
||||
// If you're serving to IE over SSL, then the following may be needed
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
|
||||
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
|
||||
header('Pragma: public'); // HTTP/1.0
|
||||
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xls');
|
||||
$writer->save('php://output');
|
||||
exit;
|
60
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_xlsx.php
vendored
Normal file
60
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_download_xlsx.php
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Helper\Sample;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require_once __DIR__ . '/../../src/Bootstrap.php';
|
||||
|
||||
$helper = new Sample();
|
||||
if ($helper->isCli()) {
|
||||
$helper->log('This example should only be run from a Web Browser' . PHP_EOL);
|
||||
|
||||
return;
|
||||
}
|
||||
// Create new Spreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A1', 'Hello')
|
||||
->setCellValue('B2', 'world!')
|
||||
->setCellValue('C1', 'Hello')
|
||||
->setCellValue('D2', 'world!');
|
||||
|
||||
// Miscellaneous glyphs, UTF-8
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A4', 'Miscellaneous glyphs')
|
||||
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
|
||||
|
||||
// Rename worksheet
|
||||
$spreadsheet->getActiveSheet()->setTitle('Simple');
|
||||
|
||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
// Redirect output to a client’s web browser (Xlsx)
|
||||
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
||||
header('Content-Disposition: attachment;filename="01simple.xlsx"');
|
||||
header('Cache-Control: max-age=0');
|
||||
// If you're serving to IE 9, then the following may be needed
|
||||
header('Cache-Control: max-age=1');
|
||||
|
||||
// If you're serving to IE over SSL, then the following may be needed
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
|
||||
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
|
||||
header('Pragma: public'); // HTTP/1.0
|
||||
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->save('php://output');
|
||||
exit;
|
162
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/02_Types.php
vendored
Normal file
162
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/02_Types.php
vendored
Normal file
@ -0,0 +1,162 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Color;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()
|
||||
->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Set default font
|
||||
$helper->log('Set default font');
|
||||
$spreadsheet->getDefaultStyle()
|
||||
->getFont()
|
||||
->setName('Arial')
|
||||
->setSize(10);
|
||||
|
||||
// Add some data, resembling some different data types
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A1', 'String')
|
||||
->setCellValue('B1', 'Simple')
|
||||
->setCellValue('C1', 'PhpSpreadsheet');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A2', 'String')
|
||||
->setCellValue('B2', 'Symbols')
|
||||
->setCellValue('C2', '!+&=()~§±æþ');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A3', 'String')
|
||||
->setCellValue('B3', 'UTF-8')
|
||||
->setCellValue('C3', 'Создать MS Excel Книги из PHP скриптов');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A4', 'Number')
|
||||
->setCellValue('B4', 'Integer')
|
||||
->setCellValue('C4', 12);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A5', 'Number')
|
||||
->setCellValue('B5', 'Float')
|
||||
->setCellValue('C5', 34.56);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A6', 'Number')
|
||||
->setCellValue('B6', 'Negative')
|
||||
->setCellValue('C6', -7.89);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A7', 'Boolean')
|
||||
->setCellValue('B7', 'True')
|
||||
->setCellValue('C7', true);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A8', 'Boolean')
|
||||
->setCellValue('B8', 'False')
|
||||
->setCellValue('C8', false);
|
||||
|
||||
$dateTimeNow = time();
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A9', 'Date/Time')
|
||||
->setCellValue('B9', 'Date')
|
||||
->setCellValue('C9', Date::PHPToExcel($dateTimeNow));
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('C9')
|
||||
->getNumberFormat()
|
||||
->setFormatCode(NumberFormat::FORMAT_DATE_YYYYMMDD2);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A10', 'Date/Time')
|
||||
->setCellValue('B10', 'Time')
|
||||
->setCellValue('C10', Date::PHPToExcel($dateTimeNow));
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('C10')
|
||||
->getNumberFormat()
|
||||
->setFormatCode(NumberFormat::FORMAT_DATE_TIME4);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A11', 'Date/Time')
|
||||
->setCellValue('B11', 'Date and Time')
|
||||
->setCellValue('C11', Date::PHPToExcel($dateTimeNow));
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('C11')
|
||||
->getNumberFormat()
|
||||
->setFormatCode(NumberFormat::FORMAT_DATE_DATETIME);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A12', 'NULL')
|
||||
->setCellValue('C12', null);
|
||||
|
||||
$richText = new RichText();
|
||||
$richText->createText('你好 ');
|
||||
|
||||
$payable = $richText->createTextRun('你 好 吗?');
|
||||
$payable->getFont()->setBold(true);
|
||||
$payable->getFont()->setItalic(true);
|
||||
$payable->getFont()->setColor(new Color(Color::COLOR_DARKGREEN));
|
||||
|
||||
$richText->createText(', unless specified otherwise on the invoice.');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A13', 'Rich Text')
|
||||
->setCellValue('C13', $richText);
|
||||
|
||||
$richText2 = new RichText();
|
||||
$richText2->createText("black text\n");
|
||||
|
||||
$red = $richText2->createTextRun('red text');
|
||||
$red->getFont()->setColor(new Color(Color::COLOR_RED));
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getCell('C14')
|
||||
->setValue($richText2);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('C14')
|
||||
->getAlignment()->setWrapText(true);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A17', 'Hyperlink');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('C17', 'PhpSpreadsheet Web Site');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getCell('C17')
|
||||
->getHyperlink()
|
||||
->setUrl('https://github.com/PHPOffice/PhpSpreadsheet')
|
||||
->setTooltip('Navigate to PhpSpreadsheet website');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('C18', '=HYPERLINK("mailto:abc@def.com","abc@def.com")');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getColumnDimension('B')
|
||||
->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getColumnDimension('C')
|
||||
->setAutoSize(true);
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Datatypes');
|
||||
|
||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
81
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/03_Formulas.php
vendored
Normal file
81
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/03_Formulas.php
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data, we will use some formulas here
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A5', 'Sum:');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B1', 'Range #1')
|
||||
->setCellValue('B2', 3)
|
||||
->setCellValue('B3', 7)
|
||||
->setCellValue('B4', 13)
|
||||
->setCellValue('B5', '=SUM(B2:B4)');
|
||||
$helper->log('Sum of Range #1 is ' . $spreadsheet->getActiveSheet()->getCell('B5')->getCalculatedValue());
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C1', 'Range #2')
|
||||
->setCellValue('C2', 5)
|
||||
->setCellValue('C3', 11)
|
||||
->setCellValue('C4', 17)
|
||||
->setCellValue('C5', '=SUM(C2:C4)');
|
||||
$helper->log('Sum of Range #2 is ' . $spreadsheet->getActiveSheet()->getCell('C5')->getCalculatedValue());
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A7', 'Total of both ranges:');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('B7', '=SUM(B5:C5)');
|
||||
$helper->log('Sum of both Ranges is ' . $spreadsheet->getActiveSheet()->getCell('B7')->getCalculatedValue());
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A8', 'Minimum of both ranges:');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('B8', '=MIN(B2:C4)');
|
||||
$helper->log('Minimum value in either Range is ' . $spreadsheet->getActiveSheet()->getCell('B8')->getCalculatedValue());
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A9', 'Maximum of both ranges:');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('B9', '=MAX(B2:C4)');
|
||||
$helper->log('Maximum value in either Range is ' . $spreadsheet->getActiveSheet()->getCell('B9')->getCalculatedValue());
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A10', 'Average of both ranges:');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('B10', '=AVERAGE(B2:C4)');
|
||||
$helper->log('Average value of both Ranges is ' . $spreadsheet->getActiveSheet()->getCell('B10')->getCalculatedValue());
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getColumnDimension('A')
|
||||
->setAutoSize(true);
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setTitle('Formulas');
|
||||
|
||||
//
|
||||
// If we set Pre Calculated Formulas to true then PhpSpreadsheet will calculate all formulae in the
|
||||
// workbook before saving. This adds time and memory overhead, and can cause some problems with formulae
|
||||
// using functions or features (such as array formulae) that aren't yet supported by the calculation engine
|
||||
// If the value is false (the default) for the Xlsx Writer, then MS Excel (or the application used to
|
||||
// open the file) will need to recalculate values itself to guarantee that the correct results are available.
|
||||
//
|
||||
//$writer->setPreCalculateFormulas(true);
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
64
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/04_Printing.php
vendored
Normal file
64
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/04_Printing.php
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooter;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooterDrawing;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data, we will use printing features
|
||||
$helper->log('Add some data');
|
||||
for ($i = 1; $i < 200; ++$i) {
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A' . $i, $i);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B' . $i, 'Test value');
|
||||
}
|
||||
|
||||
// Set header and footer. When no different headers for odd/even are used, odd header is assumed.
|
||||
$helper->log('Set header/footer');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getHeaderFooter()
|
||||
->setOddHeader('&L&G&C&HPlease treat this document as confidential!');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getHeaderFooter()
|
||||
->setOddFooter('&L&B' . $spreadsheet->getProperties()->getTitle() . '&RPage &P of &N');
|
||||
|
||||
// Add a drawing to the header
|
||||
$helper->log('Add a drawing to the header');
|
||||
$drawing = new HeaderFooterDrawing();
|
||||
$drawing->setName('PhpSpreadsheet logo');
|
||||
$drawing->setPath(__DIR__ . '/../images/PhpSpreadsheet_logo.png');
|
||||
$drawing->setHeight(36);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getHeaderFooter()
|
||||
->addImage($drawing, HeaderFooter::IMAGE_HEADER_LEFT);
|
||||
|
||||
// Set page orientation and size
|
||||
$helper->log('Set page orientation and size');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getPageSetup()
|
||||
->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getPageSetup()
|
||||
->setPaperSize(PageSetup::PAPERSIZE_A4);
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Printing');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
7
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/05_Feature_demo.php
vendored
Normal file
7
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/05_Feature_demo.php
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
8
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/06_Largescale.php
vendored
Normal file
8
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/06_Largescale.php
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = require __DIR__ . '/../templates/largeSpreadsheet.php';
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
19
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/07_Reader.php
vendored
Normal file
19
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/07_Reader.php
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create temporary file that will be read
|
||||
$sampleSpreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
$filename = $helper->getTemporaryFilename();
|
||||
$writer = new Xlsx($sampleSpreadsheet);
|
||||
$writer->save($filename);
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = IOFactory::load($filename);
|
||||
$helper->logRead('Xlsx', $filename, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
115
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/08_Conditional_formatting.php
vendored
Normal file
115
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/08_Conditional_formatting.php
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Color;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Conditional;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create a first sheet, representing sales data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Description')
|
||||
->setCellValue('B1', 'Amount');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A2', 'Paycheck received')
|
||||
->setCellValue('B2', 100);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A3', 'Cup of coffee bought')
|
||||
->setCellValue('B3', -1.5);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A4', 'Cup of coffee bought')
|
||||
->setCellValue('B4', -1.5);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A5', 'Cup of tea bought')
|
||||
->setCellValue('B5', -1.2);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A6', 'Found some money')
|
||||
->setCellValue('B6', 8);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A7', 'Total:')
|
||||
->setCellValue('B7', '=SUM(B2:B6)');
|
||||
|
||||
// Set column widths
|
||||
$helper->log('Set column widths');
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(30);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setWidth(12);
|
||||
|
||||
// Add conditional formatting
|
||||
$helper->log('Add conditional formatting');
|
||||
$conditional1 = new Conditional();
|
||||
$conditional1->setConditionType(Conditional::CONDITION_CELLIS)
|
||||
->setOperatorType(Conditional::OPERATOR_BETWEEN)
|
||||
->addCondition('200')
|
||||
->addCondition('400');
|
||||
$conditional1->getStyle()->getFont()->getColor()->setARGB(Color::COLOR_YELLOW);
|
||||
$conditional1->getStyle()->getFont()->setBold(true);
|
||||
$conditional1->getStyle()->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
|
||||
|
||||
$conditional2 = new Conditional();
|
||||
$conditional2->setConditionType(Conditional::CONDITION_CELLIS)
|
||||
->setOperatorType(Conditional::OPERATOR_LESSTHAN)
|
||||
->addCondition('0');
|
||||
$conditional2->getStyle()->getFont()->getColor()->setARGB(Color::COLOR_RED);
|
||||
$conditional2->getStyle()->getFont()->setItalic(true);
|
||||
$conditional2->getStyle()->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
|
||||
|
||||
$conditional3 = new Conditional();
|
||||
$conditional3->setConditionType(Conditional::CONDITION_CELLIS)
|
||||
->setOperatorType(Conditional::OPERATOR_GREATERTHANOREQUAL)
|
||||
->addCondition('0');
|
||||
$conditional3->getStyle()->getFont()->getColor()->setARGB(Color::COLOR_GREEN);
|
||||
$conditional3->getStyle()->getFont()->setItalic(true);
|
||||
$conditional3->getStyle()->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
|
||||
|
||||
$conditionalStyles = $spreadsheet->getActiveSheet()->getStyle('B2')->getConditionalStyles();
|
||||
$conditionalStyles[] = $conditional1;
|
||||
$conditionalStyles[] = $conditional2;
|
||||
$conditionalStyles[] = $conditional3;
|
||||
$spreadsheet->getActiveSheet()->getStyle('B2')->setConditionalStyles($conditionalStyles);
|
||||
|
||||
// duplicate the conditional styles across a range of cells
|
||||
$helper->log('Duplicate the conditional formatting across a range of cells');
|
||||
$spreadsheet->getActiveSheet()->duplicateConditionalStyle(
|
||||
$spreadsheet->getActiveSheet()->getStyle('B2')->getConditionalStyles(),
|
||||
'B3:B7'
|
||||
);
|
||||
|
||||
// Set fonts
|
||||
$helper->log('Set fonts');
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:B1')->getFont()->setBold(true);
|
||||
//$spreadsheet->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);
|
||||
$spreadsheet->getActiveSheet()->getStyle('A7:B7')->getFont()->setBold(true);
|
||||
//$spreadsheet->getActiveSheet()->getStyle('B7')->getFont()->setBold(true);
|
||||
// Set header and footer. When no different headers for odd/even are used, odd header is assumed.
|
||||
$helper->log('Set header/footer');
|
||||
$spreadsheet->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BPersonal cash register&RPrinted on &D');
|
||||
$spreadsheet->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $spreadsheet->getProperties()->getTitle() . '&RPage &P of &N');
|
||||
|
||||
// Set page orientation and size
|
||||
$helper->log('Set page orientation and size');
|
||||
$spreadsheet->getActiveSheet()->getPageSetup()->setOrientation(PageSetup::ORIENTATION_PORTRAIT);
|
||||
$spreadsheet->getActiveSheet()->getPageSetup()->setPaperSize(PageSetup::PAPERSIZE_A4);
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Invoice');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
70
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/08_Conditional_formatting_2.php
vendored
Normal file
70
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/08_Conditional_formatting_2.php
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Color;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Conditional;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create a first sheet, representing sales data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A1', '-0.5')
|
||||
->setCellValue('A2', '-0.25')
|
||||
->setCellValue('A3', '0.0')
|
||||
->setCellValue('A4', '0.25')
|
||||
->setCellValue('A5', '0.5')
|
||||
->setCellValue('A6', '0.75')
|
||||
->setCellValue('A7', '1.0')
|
||||
->setCellValue('A8', '1.25');
|
||||
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:A8')
|
||||
->getNumberFormat()
|
||||
->setFormatCode(
|
||||
NumberFormat::FORMAT_PERCENTAGE_00
|
||||
);
|
||||
|
||||
// Add conditional formatting
|
||||
$helper->log('Add conditional formatting');
|
||||
$conditional1 = new Conditional();
|
||||
$conditional1->setConditionType(Conditional::CONDITION_CELLIS)
|
||||
->setOperatorType(Conditional::OPERATOR_LESSTHAN)
|
||||
->addCondition('0');
|
||||
$conditional1->getStyle()->getFont()->getColor()->setARGB(Color::COLOR_RED);
|
||||
|
||||
$conditional3 = new Conditional();
|
||||
$conditional3->setConditionType(Conditional::CONDITION_CELLIS)
|
||||
->setOperatorType(Conditional::OPERATOR_GREATERTHANOREQUAL)
|
||||
->addCondition('1');
|
||||
$conditional3->getStyle()->getFont()->getColor()->setARGB(Color::COLOR_GREEN);
|
||||
|
||||
$conditionalStyles = $spreadsheet->getActiveSheet()->getStyle('A1')->getConditionalStyles();
|
||||
$conditionalStyles[] = $conditional1;
|
||||
$conditionalStyles[] = $conditional3;
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1')->setConditionalStyles($conditionalStyles);
|
||||
|
||||
// duplicate the conditional styles across a range of cells
|
||||
$helper->log('Duplicate the conditional formatting across a range of cells');
|
||||
$spreadsheet->getActiveSheet()->duplicateConditionalStyle(
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1')->getConditionalStyles(),
|
||||
'A2:A8'
|
||||
);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
63
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/09_Pagebreaks.php
vendored
Normal file
63
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/09_Pagebreaks.php
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create a first sheet
|
||||
$helper->log('Add data and page breaks');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Firstname')
|
||||
->setCellValue('B1', 'Lastname')
|
||||
->setCellValue('C1', 'Phone')
|
||||
->setCellValue('D1', 'Fax')
|
||||
->setCellValue('E1', 'Is Client ?');
|
||||
|
||||
// Add data
|
||||
for ($i = 2; $i <= 50; ++$i) {
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A' . $i, "FName $i");
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B' . $i, "LName $i");
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C' . $i, "PhoneNo $i");
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D' . $i, "FaxNo $i");
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E' . $i, true);
|
||||
|
||||
// Add page breaks every 10 rows
|
||||
if ($i % 10 == 0) {
|
||||
// Add a page break
|
||||
$spreadsheet->getActiveSheet()->setBreak('A' . $i, Worksheet::BREAK_ROW);
|
||||
}
|
||||
}
|
||||
|
||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setTitle('Printing Options');
|
||||
|
||||
// Set print headers
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getHeaderFooter()->setOddHeader('&C&24&K0000FF&B&U&A');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getHeaderFooter()->setEvenHeader('&C&24&K0000FF&B&U&A');
|
||||
|
||||
// Set print footers
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getHeaderFooter()->setOddFooter('&R&D &T&C&F&LPage &P / &N');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getHeaderFooter()->setEvenFooter('&L&D &T&C&F&RPage &P / &N');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
48
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/11_Documentsecurity.php
vendored
Normal file
48
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/11_Documentsecurity.php
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Hello');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B2', 'world!');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C1', 'Hello');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D2', 'world!');
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Simple');
|
||||
|
||||
// Set document security
|
||||
$helper->log('Set document security');
|
||||
$spreadsheet->getSecurity()->setLockWindows(true);
|
||||
$spreadsheet->getSecurity()->setLockStructure(true);
|
||||
$spreadsheet->getSecurity()->setWorkbookPassword('PhpSpreadsheet');
|
||||
|
||||
// Set sheet security
|
||||
$helper->log('Set sheet security');
|
||||
$spreadsheet->getActiveSheet()->getProtection()->setPassword('PhpSpreadsheet');
|
||||
$spreadsheet->getActiveSheet()->getProtection()->setSheet(true); // This should be enabled in order to enable any of the following!
|
||||
$spreadsheet->getActiveSheet()->getProtection()->setSort(true);
|
||||
$spreadsheet->getActiveSheet()->getProtection()->setInsertRows(true);
|
||||
$spreadsheet->getActiveSheet()->getProtection()->setFormatCells(true);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
47
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/12_CellProtection.php
vendored
Normal file
47
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/12_CellProtection.php
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Protection;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Mark Baker')
|
||||
->setLastModifiedBy('Mark Baker')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Crouching');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B1', 'Tiger');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A2', 'Hidden');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B2', 'Dragon');
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Simple');
|
||||
|
||||
// Set document security
|
||||
$helper->log('Set cell protection');
|
||||
|
||||
// Set sheet security
|
||||
$helper->log('Set sheet security');
|
||||
$spreadsheet->getActiveSheet()->getProtection()->setSheet(true);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('A2:B2')
|
||||
->getProtection()->setLocked(
|
||||
Protection::PROTECTION_UNPROTECTED
|
||||
);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
176
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/13_Calculation.php
vendored
Normal file
176
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/13_Calculation.php
vendored
Normal file
@ -0,0 +1,176 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
mt_srand(1234567890);
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// List functions
|
||||
$helper->log('List implemented functions');
|
||||
$calc = Calculation::getInstance();
|
||||
print_r($calc->getImplementedFunctionNames());
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Add some data, we will use some formulas here
|
||||
$helper->log('Add some data and formulas');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A14', 'Count:')
|
||||
->setCellValue('A15', 'Sum:')
|
||||
->setCellValue('A16', 'Max:')
|
||||
->setCellValue('A17', 'Min:')
|
||||
->setCellValue('A18', 'Average:')
|
||||
->setCellValue('A19', 'Median:')
|
||||
->setCellValue('A20', 'Mode:');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A22', 'CountA:')
|
||||
->setCellValue('A23', 'MaxA:')
|
||||
->setCellValue('A24', 'MinA:');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A26', 'StDev:')
|
||||
->setCellValue('A27', 'StDevA:')
|
||||
->setCellValue('A28', 'StDevP:')
|
||||
->setCellValue('A29', 'StDevPA:');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A31', 'DevSq:')
|
||||
->setCellValue('A32', 'Var:')
|
||||
->setCellValue('A33', 'VarA:')
|
||||
->setCellValue('A34', 'VarP:')
|
||||
->setCellValue('A35', 'VarPA:');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A37', 'Date:');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B1', 'Range 1')
|
||||
->setCellValue('B2', 2)
|
||||
->setCellValue('B3', 8)
|
||||
->setCellValue('B4', 10)
|
||||
->setCellValue('B5', true)
|
||||
->setCellValue('B6', false)
|
||||
->setCellValue('B7', 'Text String')
|
||||
->setCellValue('B9', '22')
|
||||
->setCellValue('B10', 4)
|
||||
->setCellValue('B11', 6)
|
||||
->setCellValue('B12', 12);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B14', '=COUNT(B2:B12)')
|
||||
->setCellValue('B15', '=SUM(B2:B12)')
|
||||
->setCellValue('B16', '=MAX(B2:B12)')
|
||||
->setCellValue('B17', '=MIN(B2:B12)')
|
||||
->setCellValue('B18', '=AVERAGE(B2:B12)')
|
||||
->setCellValue('B19', '=MEDIAN(B2:B12)')
|
||||
->setCellValue('B20', '=MODE(B2:B12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B22', '=COUNTA(B2:B12)')
|
||||
->setCellValue('B23', '=MAXA(B2:B12)')
|
||||
->setCellValue('B24', '=MINA(B2:B12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B26', '=STDEV(B2:B12)')
|
||||
->setCellValue('B27', '=STDEVA(B2:B12)')
|
||||
->setCellValue('B28', '=STDEVP(B2:B12)')
|
||||
->setCellValue('B29', '=STDEVPA(B2:B12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B31', '=DEVSQ(B2:B12)')
|
||||
->setCellValue('B32', '=VAR(B2:B12)')
|
||||
->setCellValue('B33', '=VARA(B2:B12)')
|
||||
->setCellValue('B34', '=VARP(B2:B12)')
|
||||
->setCellValue('B35', '=VARPA(B2:B12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B37', '=DATE(2007, 12, 21)')
|
||||
->setCellValue('B38', '=DATEDIF( DATE(2007, 12, 21), DATE(2007, 12, 22), "D" )')
|
||||
->setCellValue('B39', '=DATEVALUE("01-Feb-2006 10:06 AM")')
|
||||
->setCellValue('B40', '=DAY( DATE(2006, 1, 2) )')
|
||||
->setCellValue('B41', '=DAYS360( DATE(2002, 2, 3), DATE(2005, 5, 31) )');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C1', 'Range 2')
|
||||
->setCellValue('C2', 1)
|
||||
->setCellValue('C3', 2)
|
||||
->setCellValue('C4', 2)
|
||||
->setCellValue('C5', 3)
|
||||
->setCellValue('C6', 3)
|
||||
->setCellValue('C7', 3)
|
||||
->setCellValue('C8', '0')
|
||||
->setCellValue('C9', 4)
|
||||
->setCellValue('C10', 4)
|
||||
->setCellValue('C11', 4)
|
||||
->setCellValue('C12', 4);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C14', '=COUNT(C2:C12)')
|
||||
->setCellValue('C15', '=SUM(C2:C12)')
|
||||
->setCellValue('C16', '=MAX(C2:C12)')
|
||||
->setCellValue('C17', '=MIN(C2:C12)')
|
||||
->setCellValue('C18', '=AVERAGE(C2:C12)')
|
||||
->setCellValue('C19', '=MEDIAN(C2:C12)')
|
||||
->setCellValue('C20', '=MODE(C2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C22', '=COUNTA(C2:C12)')
|
||||
->setCellValue('C23', '=MAXA(C2:C12)')
|
||||
->setCellValue('C24', '=MINA(C2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C26', '=STDEV(C2:C12)')
|
||||
->setCellValue('C27', '=STDEVA(C2:C12)')
|
||||
->setCellValue('C28', '=STDEVP(C2:C12)')
|
||||
->setCellValue('C29', '=STDEVPA(C2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C31', '=DEVSQ(C2:C12)')
|
||||
->setCellValue('C32', '=VAR(C2:C12)')
|
||||
->setCellValue('C33', '=VARA(C2:C12)')
|
||||
->setCellValue('C34', '=VARP(C2:C12)')
|
||||
->setCellValue('C35', '=VARPA(C2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D1', 'Range 3')
|
||||
->setCellValue('D2', 2)
|
||||
->setCellValue('D3', 3)
|
||||
->setCellValue('D4', 4);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D14', '=((D2 * D3) + D4) & " should be 10"');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E12', 'Other functions')
|
||||
->setCellValue('E14', '=PI()')
|
||||
->setCellValue('E15', '=RAND()')
|
||||
->setCellValue('E16', '=RANDBETWEEN(5, 10)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E17', 'Count of both ranges:')
|
||||
->setCellValue('F17', '=COUNT(B2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E18', 'Total of both ranges:')
|
||||
->setCellValue('F18', '=SUM(B2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E19', 'Maximum of both ranges:')
|
||||
->setCellValue('F19', '=MAX(B2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E20', 'Minimum of both ranges:')
|
||||
->setCellValue('F20', '=MIN(B2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E21', 'Average of both ranges:')
|
||||
->setCellValue('F21', '=AVERAGE(B2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E22', 'Median of both ranges:')
|
||||
->setCellValue('F22', '=MEDIAN(B2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E23', 'Mode of both ranges:')
|
||||
->setCellValue('F23', '=MODE(B2:C12)');
|
||||
|
||||
// Calculated data
|
||||
$helper->log('Calculated data');
|
||||
for ($col = 'B'; $col != 'G'; ++$col) {
|
||||
for ($row = 14; $row <= 41; ++$row) {
|
||||
if ((($formula = $spreadsheet->getActiveSheet()->getCell($col . $row)->getValue()) !== null) &&
|
||||
($formula[0] == '=')) {
|
||||
$helper->log('Value of ' . $col . $row . ' [' . $formula . ']: ' . $spreadsheet->getActiveSheet()->getCell($col . $row)->getCalculatedValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// If we set Pre Calculated Formulas to true then PhpSpreadsheet will calculate all formulae in the
|
||||
// workbook before saving. This adds time and memory overhead, and can cause some problems with formulae
|
||||
// using functions or features (such as array formulae) that aren't yet supported by the calculation engine
|
||||
// If the value is false (the default) for the Xlsx Writer, then MS Excel (or the application used to
|
||||
// open the file) will need to recalculate values itself to guarantee that the correct results are available.
|
||||
//
|
||||
//$writer->setPreCalculateFormulas(true);
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
33
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/13_CalculationCyclicFormulae.php
vendored
Normal file
33
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/13_CalculationCyclicFormulae.php
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Add some data, we will use some formulas here
|
||||
$helper->log('Add some data and formulas');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', '=B1')
|
||||
->setCellValue('A2', '=B2+1')
|
||||
->setCellValue('B1', '=A1+1')
|
||||
->setCellValue('B2', '=A2');
|
||||
|
||||
Calculation::getInstance($spreadsheet)->cyclicFormulaCount = 100;
|
||||
|
||||
// Calculated data
|
||||
$helper->log('Calculated data');
|
||||
for ($row = 1; $row <= 2; ++$row) {
|
||||
for ($col = 'A'; $col != 'C'; ++$col) {
|
||||
if ((($formula = $spreadsheet->getActiveSheet()->getCell($col . $row)->getValue()) !== null) &&
|
||||
($formula[0] == '=')) {
|
||||
$helper->log('Value of ' . $col . $row . ' [' . $formula . ']: ' . $spreadsheet->getActiveSheet()->getCell($col . $row)->getCalculatedValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/14_Xls.php
vendored
Normal file
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/14_Xls.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
$filename = $helper->getFilename(__FILE__, 'xls');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xls');
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
80
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/15_Datavalidation.php
vendored
Normal file
80
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/15_Datavalidation.php
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Cell\DataValidation;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Create a first sheet
|
||||
$helper->log('Add data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Cell B3 and B5 contain data validation...')
|
||||
->setCellValue('A3', 'Number:')
|
||||
->setCellValue('B3', '10')
|
||||
->setCellValue('A5', 'List:')
|
||||
->setCellValue('B5', 'Item A')
|
||||
->setCellValue('A7', 'List #2:')
|
||||
->setCellValue('B7', 'Item #2')
|
||||
->setCellValue('D2', 'Item #1')
|
||||
->setCellValue('D3', 'Item #2')
|
||||
->setCellValue('D4', 'Item #3')
|
||||
->setCellValue('D5', 'Item #4')
|
||||
->setCellValue('D6', 'Item #5');
|
||||
|
||||
// Set data validation
|
||||
$helper->log('Set data validation');
|
||||
$validation = $spreadsheet->getActiveSheet()->getCell('B3')->getDataValidation();
|
||||
$validation->setType(DataValidation::TYPE_WHOLE);
|
||||
$validation->setErrorStyle(DataValidation::STYLE_STOP);
|
||||
$validation->setAllowBlank(true);
|
||||
$validation->setShowInputMessage(true);
|
||||
$validation->setShowErrorMessage(true);
|
||||
$validation->setErrorTitle('Input error');
|
||||
$validation->setError('Only numbers between 10 and 20 are allowed!');
|
||||
$validation->setPromptTitle('Allowed input');
|
||||
$validation->setPrompt('Only numbers between 10 and 20 are allowed.');
|
||||
$validation->setFormula1(10);
|
||||
$validation->setFormula2(20);
|
||||
|
||||
$validation = $spreadsheet->getActiveSheet()->getCell('B5')->getDataValidation();
|
||||
$validation->setType(DataValidation::TYPE_LIST);
|
||||
$validation->setErrorStyle(DataValidation::STYLE_INFORMATION);
|
||||
$validation->setAllowBlank(false);
|
||||
$validation->setShowInputMessage(true);
|
||||
$validation->setShowErrorMessage(true);
|
||||
$validation->setShowDropDown(true);
|
||||
$validation->setErrorTitle('Input error');
|
||||
$validation->setError('Value is not in list.');
|
||||
$validation->setPromptTitle('Pick from list');
|
||||
$validation->setPrompt('Please pick a value from the drop-down list.');
|
||||
$validation->setFormula1('"Item A,Item B,Item C"'); // Make sure to put the list items between " and " if your list is simply a comma-separated list of values !!!
|
||||
|
||||
$validation = $spreadsheet->getActiveSheet()->getCell('B7')->getDataValidation();
|
||||
$validation->setType(DataValidation::TYPE_LIST);
|
||||
$validation->setErrorStyle(DataValidation::STYLE_INFORMATION);
|
||||
$validation->setAllowBlank(false);
|
||||
$validation->setShowInputMessage(true);
|
||||
$validation->setShowErrorMessage(true);
|
||||
$validation->setShowDropDown(true);
|
||||
$validation->setErrorTitle('Input error');
|
||||
$validation->setError('Value is not in list.');
|
||||
$validation->setPromptTitle('Pick from list');
|
||||
$validation->setPrompt('Please pick a value from the drop-down list.');
|
||||
$validation->setFormula1('$D$2:$D$6'); // Make sure NOT to put a range of cells or a formula between " and "
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
38
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/16_Csv.php
vendored
Normal file
38
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/16_Csv.php
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
$helper->log('Write to CSV format');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Csv')->setDelimiter(',')
|
||||
->setEnclosure('"')
|
||||
->setSheetIndex(0);
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$filename = $helper->getTemporaryFilename('csv');
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
$helper->log('Read from CSV format');
|
||||
|
||||
$reader = IOFactory::createReader('Csv')->setDelimiter(',')
|
||||
->setEnclosure('"')
|
||||
->setSheetIndex(0);
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheetFromCSV = $reader->load($filename);
|
||||
$helper->logRead('Csv', $filename, $callStartTime);
|
||||
|
||||
// Write Xlsx
|
||||
$helper->write($spreadsheetFromCSV, __FILE__, ['Xlsx']);
|
||||
|
||||
// Write CSV
|
||||
$filenameCSV = $helper->getFilename(__FILE__, 'csv');
|
||||
$writerCSV = IOFactory::createWriter($spreadsheetFromCSV, 'Csv');
|
||||
$writerCSV->setExcelCompatibility(true);
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$writerCSV->save($filenameCSV);
|
||||
$helper->logWrite($writerCSV, $filenameCSV, $callStartTime);
|
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/17_Html.php
vendored
Normal file
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/17_Html.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
$filename = $helper->getFilename(__FILE__, 'html');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Html');
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
69
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/18_Extendedcalculation.php
vendored
Normal file
69
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/18_Extendedcalculation.php
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// List functions
|
||||
$helper->log('List implemented functions');
|
||||
$calc = Calculation::getInstance();
|
||||
print_r($calc->getImplementedFunctionNames());
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Add some data, we will use some formulas here
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A14', 'Count:');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B1', 'Range 1');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B2', 2);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B3', 8);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B4', 10);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B5', true);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B6', false);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B7', 'Text String');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B9', '22');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B10', 4);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B11', 6);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B12', 12);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('B14', '=COUNT(B2:B12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C1', 'Range 2');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C2', 1);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C3', 2);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C4', 2);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C5', 3);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C6', 3);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C7', 3);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C8', '0');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C9', 4);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C10', 4);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C11', 4);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C12', 4);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('C14', '=COUNT(C2:C12)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D1', 'Range 3');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D2', 2);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D3', 3);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D4', 4);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D5', '=((D2 * D3) + D4) & " should be 10"');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E1', 'Other functions');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E2', '=PI()');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E3', '=RAND()');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E4', '=RANDBETWEEN(5, 10)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('E14', 'Count of both ranges:');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('F14', '=COUNT(B2:C12)');
|
||||
|
||||
// Calculated data
|
||||
$helper->log('Calculated data');
|
||||
$helper->log('Value of B14 [=COUNT(B2:B12)]: ' . $spreadsheet->getActiveSheet()->getCell('B14')->getCalculatedValue());
|
||||
|
||||
$helper->logEndingNotes();
|
70
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/19_Namedrange.php
vendored
Normal file
70
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/19_Namedrange.php
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\NamedRange;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Firstname:')
|
||||
->setCellValue('A2', 'Lastname:')
|
||||
->setCellValue('A3', 'Fullname:')
|
||||
->setCellValue('B1', 'Maarten')
|
||||
->setCellValue('B2', 'Balliauw')
|
||||
->setCellValue('B3', '=B1 & " " & B2');
|
||||
|
||||
// Define named ranges
|
||||
$helper->log('Define named ranges');
|
||||
$spreadsheet->addNamedRange(new NamedRange('PersonName', $spreadsheet->getActiveSheet(), 'B1'));
|
||||
$spreadsheet->addNamedRange(new NamedRange('PersonLN', $spreadsheet->getActiveSheet(), 'B2'));
|
||||
|
||||
// Rename named ranges
|
||||
$helper->log('Rename named ranges');
|
||||
$spreadsheet->getNamedRange('PersonName')->setName('PersonFN');
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Person');
|
||||
|
||||
// Create a new worksheet, after the default sheet
|
||||
$helper->log('Create new Worksheet object');
|
||||
$spreadsheet->createSheet();
|
||||
|
||||
// Add some data to the second sheet, resembling some different data types
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(1);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Firstname:')
|
||||
->setCellValue('A2', 'Lastname:')
|
||||
->setCellValue('A3', 'Fullname:')
|
||||
->setCellValue('B1', '=PersonFN')
|
||||
->setCellValue('B2', '=PersonLN')
|
||||
->setCellValue('B3', '=PersonFN & " " & PersonLN');
|
||||
|
||||
// Resolve range
|
||||
$helper->log('Resolve range');
|
||||
$helper->log('Cell B1 {=PersonFN}: ' . $spreadsheet->getActiveSheet()->getCell('B1')->getCalculatedValue());
|
||||
$helper->log('Cell B3 {=PersonFN & " " & PersonLN}: ' . $spreadsheet->getActiveSheet()->getCell('B3')->getCalculatedValue());
|
||||
$helper->log('Cell Person!B1: ' . $spreadsheet->getActiveSheet()->getCell('Person!B1')->getCalculatedValue());
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Person (cloned)');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Excel2003XML.php
vendored
Normal file
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Excel2003XML.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$filename = __DIR__ . '/../templates/Excel2003XMLTest.xml';
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = IOFactory::load($filename);
|
||||
$helper->logRead('Xml', $filename, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Gnumeric.php
vendored
Normal file
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Gnumeric.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$filename = __DIR__ . '/../templates/GnumericTest.gnumeric';
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = IOFactory::load($filename);
|
||||
$helper->logRead('Gnumeric', $filename, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Ods.php
vendored
Normal file
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Ods.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$filename = __DIR__ . '/../templates/OOCalcTest.ods';
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = IOFactory::load($filename);
|
||||
$helper->logRead('Ods', $filename, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Sylk.php
vendored
Normal file
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Sylk.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$filename = __DIR__ . '/../templates/SylkTest.slk';
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = IOFactory::load($filename);
|
||||
$helper->logRead('Slk', $filename, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
22
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Xls.php
vendored
Normal file
22
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/20_Read_Xls.php
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
// Write temporary file
|
||||
$filename = $helper->getTemporaryFilename('xls');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xls');
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
// Read Xls file
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = IOFactory::load($filename);
|
||||
$helper->logRead('Xls', $filename, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
48
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/22_Heavily_formatted.php
vendored
Normal file
48
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/22_Heavily_formatted.php
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Fill;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1:T100')->applyFromArray(
|
||||
['fill' => [
|
||||
'fillType' => Fill::FILL_SOLID,
|
||||
'color' => ['argb' => 'FFCCFFCC'],
|
||||
],
|
||||
'borders' => [
|
||||
'bottom' => ['borderStyle' => Border::BORDER_THIN],
|
||||
'right' => ['borderStyle' => Border::BORDER_MEDIUM],
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
$spreadsheet->getActiveSheet()->getStyle('C5:R95')->applyFromArray(
|
||||
['fill' => [
|
||||
'fillType' => Fill::FILL_SOLID,
|
||||
'color' => ['argb' => 'FFFFFF00'],
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
59
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/23_Sharedstyles.php
vendored
Normal file
59
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/23_Sharedstyles.php
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Fill;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Style;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
|
||||
$sharedStyle1 = new Style();
|
||||
$sharedStyle2 = new Style();
|
||||
|
||||
$sharedStyle1->applyFromArray(
|
||||
['fill' => [
|
||||
'fillType' => Fill::FILL_SOLID,
|
||||
'color' => ['argb' => 'FFCCFFCC'],
|
||||
],
|
||||
'borders' => [
|
||||
'bottom' => ['borderStyle' => Border::BORDER_THIN],
|
||||
'right' => ['borderStyle' => Border::BORDER_MEDIUM],
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
$sharedStyle2->applyFromArray(
|
||||
['fill' => [
|
||||
'fillType' => Fill::FILL_SOLID,
|
||||
'color' => ['argb' => 'FFFFFF00'],
|
||||
],
|
||||
'borders' => [
|
||||
'bottom' => ['borderStyle' => Border::BORDER_THIN],
|
||||
'right' => ['borderStyle' => Border::BORDER_MEDIUM],
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
$spreadsheet->getActiveSheet()->duplicateStyle($sharedStyle1, 'A1:T100');
|
||||
$spreadsheet->getActiveSheet()->duplicateStyle($sharedStyle2, 'C5:R95');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
41
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/24_Readfilter.php
vendored
Normal file
41
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/24_Readfilter.php
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Reader\IReadFilter;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Write temporary file
|
||||
$largeSpreadsheet = require __DIR__ . '/../templates/largeSpreadsheet.php';
|
||||
$writer = new Xlsx($largeSpreadsheet);
|
||||
$filename = $helper->getTemporaryFilename();
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
class MyReadFilter implements IReadFilter
|
||||
{
|
||||
public function readCell($column, $row, $worksheetName = '')
|
||||
{
|
||||
// Read title row and rows 20 - 30
|
||||
if ($row == 1 || ($row >= 20 && $row <= 30)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$helper->log('Load from Xlsx file');
|
||||
$reader = IOFactory::createReader('Xlsx');
|
||||
$reader->setReadFilter(new MyReadFilter());
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = $reader->load($filename);
|
||||
$helper->logRead('Xlsx', $filename, $callStartTime);
|
||||
$helper->log('Remove unnecessary rows');
|
||||
$spreadsheet->getActiveSheet()->removeRow(2, 18);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
40
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/25_In_memory_image.php
vendored
Normal file
40
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/25_In_memory_image.php
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Generate an image
|
||||
$helper->log('Generate an image');
|
||||
$gdImage = @imagecreatetruecolor(120, 20) or die('Cannot Initialize new GD image stream');
|
||||
$textColor = imagecolorallocate($gdImage, 255, 255, 255);
|
||||
imagestring($gdImage, 1, 5, 5, 'Created with PhpSpreadsheet', $textColor);
|
||||
|
||||
// Add a drawing to the worksheet
|
||||
$helper->log('Add a drawing to the worksheet');
|
||||
$drawing = new MemoryDrawing();
|
||||
$drawing->setName('Sample image');
|
||||
$drawing->setDescription('Sample image');
|
||||
$drawing->setImageResource($gdImage);
|
||||
$drawing->setRenderingFunction(MemoryDrawing::RENDERING_JPEG);
|
||||
$drawing->setMimeType(MemoryDrawing::MIMETYPE_DEFAULT);
|
||||
$drawing->setHeight(36);
|
||||
$drawing->setWorksheet($spreadsheet->getActiveSheet());
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__, ['Xlsx', 'Html']);
|
39
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/26_Utf8.php
vendored
Normal file
39
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/26_Utf8.php
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Read from Xlsx (.xlsx) template
|
||||
$helper->log('Load Xlsx template file');
|
||||
$reader = IOFactory::createReader('Xlsx');
|
||||
$spreadsheet = $reader->load(__DIR__ . '/../templates/26template.xlsx');
|
||||
|
||||
// at this point, we could do some manipulations with the template, but we skip this step
|
||||
$helper->write($spreadsheet, __FILE__, ['Xlsx', 'Xls', 'Html']);
|
||||
|
||||
// Export to PDF (.pdf)
|
||||
$helper->log('Write to PDF format');
|
||||
IOFactory::registerWriter('Pdf', \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf::class);
|
||||
$helper->write($spreadsheet, __FILE__, ['Pdf']);
|
||||
|
||||
// Remove first two rows with field headers before exporting to CSV
|
||||
$helper->log('Removing first two heading rows for CSV export');
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->removeRow(1, 2);
|
||||
|
||||
// Export to CSV (.csv)
|
||||
$helper->log('Write to CSV format');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Csv');
|
||||
$filename = $helper->getFilename(__FILE__, 'csv');
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
// Export to CSV with BOM (.csv)
|
||||
$filename = str_replace('.csv', '-bom.csv', $filename);
|
||||
$helper->log('Write to CSV format (with BOM)');
|
||||
$writer->setUseBOM(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/27_Images_Xls.php
vendored
Normal file
13
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/27_Images_Xls.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Read from Xls (.xls) template
|
||||
$helper->log('Load Xlsx template file');
|
||||
$reader = IOFactory::createReader('Xls');
|
||||
$spreadsheet = $reader->load(__DIR__ . '/../templates/27template.xls');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
34
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/28_Iterator.php
vendored
Normal file
34
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/28_Iterator.php
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$sampleSpreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
$filename = $helper->getTemporaryFilename();
|
||||
$writer = new Xlsx($sampleSpreadsheet);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$reader = IOFactory::createReader('Xlsx');
|
||||
$spreadsheet = $reader->load($filename);
|
||||
$helper->logRead('Xlsx', $filename, $callStartTime);
|
||||
$helper->log('Iterate worksheets');
|
||||
foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
|
||||
$helper->log('Worksheet - ' . $worksheet->getTitle());
|
||||
|
||||
foreach ($worksheet->getRowIterator() as $row) {
|
||||
$helper->log(' Row number - ' . $row->getRowIndex());
|
||||
|
||||
$cellIterator = $row->getCellIterator();
|
||||
$cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
|
||||
foreach ($cellIterator as $cell) {
|
||||
if ($cell !== null) {
|
||||
$helper->log(' Cell - ' . $cell->getCoordinate() . ' - ' . $cell->getCalculatedValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
132
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/29_Advanced_value_binder.php
vendored
Normal file
132
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/29_Advanced_value_binder.php
vendored
Normal file
@ -0,0 +1,132 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder;
|
||||
use PhpOffice\PhpSpreadsheet\Cell\Cell;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Set timezone
|
||||
$helper->log('Set timezone');
|
||||
date_default_timezone_set('UTC');
|
||||
|
||||
// Set value binder
|
||||
$helper->log('Set value binder');
|
||||
Cell::setValueBinder(new AdvancedValueBinder());
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test document for Office 2007 XLSX, generated using PHP classes.')
|
||||
->setKeywords('office 2007 openxml php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Set default font
|
||||
$helper->log('Set default font');
|
||||
$spreadsheet->getDefaultStyle()->getFont()->setName('Arial');
|
||||
$spreadsheet->getDefaultStyle()->getFont()->setSize(10);
|
||||
|
||||
// Set column widths
|
||||
$helper->log('Set column widths');
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setWidth(14);
|
||||
|
||||
// Add some data, resembling some different data types
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'String value:')
|
||||
->setCellValue('B1', 'Mark Baker');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A2', 'Numeric value #1:')
|
||||
->setCellValue('B2', 12345);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A3', 'Numeric value #2:')
|
||||
->setCellValue('B3', -12.345);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A4', 'Numeric value #3:')
|
||||
->setCellValue('B4', .12345);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A5', 'Numeric value #4:')
|
||||
->setCellValue('B5', '12345');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A6', 'Numeric value #5:')
|
||||
->setCellValue('B6', '1.2345');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A7', 'Numeric value #6:')
|
||||
->setCellValue('B7', '.12345');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A8', 'Numeric value #7:')
|
||||
->setCellValue('B8', '1.234e-5');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A9', 'Numeric value #8:')
|
||||
->setCellValue('B9', '-1.234e+5');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A10', 'Boolean value:')
|
||||
->setCellValue('B10', 'TRUE');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A11', 'Percentage value #1:')
|
||||
->setCellValue('B11', '10%');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A12', 'Percentage value #2:')
|
||||
->setCellValue('B12', '12.5%');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A13', 'Fraction value #1:')
|
||||
->setCellValue('B13', '-1/2');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A14', 'Fraction value #2:')
|
||||
->setCellValue('B14', '3 1/2');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A15', 'Fraction value #3:')
|
||||
->setCellValue('B15', '-12 3/4');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A16', 'Fraction value #4:')
|
||||
->setCellValue('B16', '13/4');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A17', 'Currency value #1:')
|
||||
->setCellValue('B17', '$12345');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A18', 'Currency value #2:')
|
||||
->setCellValue('B18', '$12345.67');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A19', 'Currency value #3:')
|
||||
->setCellValue('B19', '$12,345.67');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A20', 'Date value #1:')
|
||||
->setCellValue('B20', '21 December 1983');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A21', 'Date value #2:')
|
||||
->setCellValue('B21', '19-Dec-1960');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A22', 'Date value #3:')
|
||||
->setCellValue('B22', '07/12/1982');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A23', 'Date value #4:')
|
||||
->setCellValue('B23', '24-11-1950');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A24', 'Date value #5:')
|
||||
->setCellValue('B24', '17-Mar');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A25', 'Time value #1:')
|
||||
->setCellValue('B25', '01:30');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A26', 'Time value #2:')
|
||||
->setCellValue('B26', '01:30:15');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A27', 'Date/Time value:')
|
||||
->setCellValue('B27', '19-Dec-1960 01:30');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A28', 'Formula:')
|
||||
->setCellValue('B28', '=SUM(B2:B9)');
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Advanced value binder');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
43
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/30_Template.php
vendored
Normal file
43
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/30_Template.php
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$helper->log('Load from Xls template');
|
||||
$reader = IOFactory::createReader('Xls');
|
||||
$spreadsheet = $reader->load(__DIR__ . '/../templates/30template.xls');
|
||||
|
||||
$helper->log('Add new data to the template');
|
||||
$data = [['title' => 'Excel for dummies',
|
||||
'price' => 17.99,
|
||||
'quantity' => 2,
|
||||
],
|
||||
['title' => 'PHP for dummies',
|
||||
'price' => 15.99,
|
||||
'quantity' => 1,
|
||||
],
|
||||
['title' => 'Inside OOP',
|
||||
'price' => 12.95,
|
||||
'quantity' => 1,
|
||||
],
|
||||
];
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('D1', Date::PHPToExcel(time()));
|
||||
|
||||
$baseRow = 5;
|
||||
foreach ($data as $r => $dataRow) {
|
||||
$row = $baseRow + $r;
|
||||
$spreadsheet->getActiveSheet()->insertNewRowBefore($row, 1);
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A' . $row, $r + 1)
|
||||
->setCellValue('B' . $row, $dataRow['title'])
|
||||
->setCellValue('C' . $row, $dataRow['price'])
|
||||
->setCellValue('D' . $row, $dataRow['quantity'])
|
||||
->setCellValue('E' . $row, '=C' . $row . '*D' . $row);
|
||||
}
|
||||
$spreadsheet->getActiveSheet()->removeRow($baseRow - 1, 1);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
68
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/31_Document_properties_write.php
vendored
Normal file
68
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/31_Document_properties_write.php
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Document\Properties;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$inputFileType = 'Xlsx';
|
||||
$inputFileName = __DIR__ . '/../templates/31docproperties.xlsx';
|
||||
|
||||
$spreadsheetReader = IOFactory::createReader($inputFileType);
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = $spreadsheetReader->load($inputFileName);
|
||||
$helper->logRead($inputFileType, $inputFileName, $callStartTime);
|
||||
|
||||
$helper->log('Adjust properties');
|
||||
$spreadsheet->getProperties()->setTitle('Office 2007 XLSX Test Document')
|
||||
->setSubject('Office 2007 XLSX Test Document')
|
||||
->setDescription('Test XLSX document, generated using PhpSpreadsheet')
|
||||
->setKeywords('office 2007 openxml php');
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
$helper->logEndingNotes();
|
||||
|
||||
// Reread File
|
||||
$helper->log('Reread Xlsx file');
|
||||
$spreadsheetRead = IOFactory::load($filename);
|
||||
|
||||
// Set properties
|
||||
$helper->log('Get properties');
|
||||
|
||||
$helper->log('Core Properties:');
|
||||
$helper->log(' Created by - ' . $spreadsheet->getProperties()->getCreator());
|
||||
$helper->log(' Created on - ' . date('d-M-Y' . $spreadsheet->getProperties()->getCreated()) . ' at ' . date('H:i:s' . $spreadsheet->getProperties()->getCreated()));
|
||||
$helper->log(' Last Modified by - ' . $spreadsheet->getProperties()->getLastModifiedBy());
|
||||
$helper->log(' Last Modified on - ' . date('d-M-Y' . $spreadsheet->getProperties()->getModified()) . ' at ' . date('H:i:s' . $spreadsheet->getProperties()->getModified()));
|
||||
$helper->log(' Title - ' . $spreadsheet->getProperties()->getTitle());
|
||||
$helper->log(' Subject - ' . $spreadsheet->getProperties()->getSubject());
|
||||
$helper->log(' Description - ' . $spreadsheet->getProperties()->getDescription());
|
||||
$helper->log(' Keywords: - ' . $spreadsheet->getProperties()->getKeywords());
|
||||
|
||||
$helper->log('Extended (Application) Properties:');
|
||||
$helper->log(' Category - ' . $spreadsheet->getProperties()->getCategory());
|
||||
$helper->log(' Company - ' . $spreadsheet->getProperties()->getCompany());
|
||||
$helper->log(' Manager - ' . $spreadsheet->getProperties()->getManager());
|
||||
|
||||
$helper->log('Custom Properties:');
|
||||
$customProperties = $spreadsheet->getProperties()->getCustomProperties();
|
||||
foreach ($customProperties as $customProperty) {
|
||||
$propertyValue = $spreadsheet->getProperties()->getCustomPropertyValue($customProperty);
|
||||
$propertyType = $spreadsheet->getProperties()->getCustomPropertyType($customProperty);
|
||||
if ($propertyType == Properties::PROPERTY_TYPE_DATE) {
|
||||
$formattedValue = date('d-M-Y H:i:s', $propertyValue);
|
||||
} elseif ($propertyType == Properties::PROPERTY_TYPE_BOOLEAN) {
|
||||
$formattedValue = $propertyValue ? 'TRUE' : 'FALSE';
|
||||
} else {
|
||||
$formattedValue = $propertyValue;
|
||||
}
|
||||
$helper->log(' ' . $customProperty . ' - (' . $propertyType . ') - ' . $formattedValue);
|
||||
}
|
||||
|
||||
$helper->logEndingNotes();
|
68
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/31_Document_properties_write_xls.php
vendored
Normal file
68
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/31_Document_properties_write_xls.php
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Document\Properties;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$inputFileType = 'Xls';
|
||||
$inputFileName = __DIR__ . '/../templates/31docproperties.xls';
|
||||
|
||||
$spreadsheetReader = IOFactory::createReader($inputFileType);
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = $spreadsheetReader->load($inputFileName);
|
||||
$helper->logRead($inputFileType, $inputFileName, $callStartTime);
|
||||
|
||||
$helper->log('Adjust properties');
|
||||
$spreadsheet->getProperties()->setTitle('Office 95 XLS Test Document')
|
||||
->setSubject('Office 95 XLS Test Document')
|
||||
->setDescription('Test XLS document, generated using PhpSpreadsheet')
|
||||
->setKeywords('office 95 biff php');
|
||||
|
||||
// Save Excel 95 file
|
||||
$filename = $helper->getFilename(__FILE__, 'xls');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xls');
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
$helper->logEndingNotes();
|
||||
|
||||
// Reread File
|
||||
$helper->log('Reread Xls file');
|
||||
$spreadsheetRead = IOFactory::load($filename);
|
||||
|
||||
// Set properties
|
||||
$helper->log('Get properties');
|
||||
|
||||
$helper->log('Core Properties:');
|
||||
$helper->log(' Created by - ' . $spreadsheet->getProperties()->getCreator());
|
||||
$helper->log(' Created on - ' . date('d-M-Y' . $spreadsheet->getProperties()->getCreated()) . ' at ' . date('H:i:s' . $spreadsheet->getProperties()->getCreated()));
|
||||
$helper->log(' Last Modified by - ' . $spreadsheet->getProperties()->getLastModifiedBy());
|
||||
$helper->log(' Last Modified on - ' . date('d-M-Y' . $spreadsheet->getProperties()->getModified()) . ' at ' . date('H:i:s' . $spreadsheet->getProperties()->getModified()));
|
||||
$helper->log(' Title - ' . $spreadsheet->getProperties()->getTitle());
|
||||
$helper->log(' Subject - ' . $spreadsheet->getProperties()->getSubject());
|
||||
$helper->log(' Description - ' . $spreadsheet->getProperties()->getDescription());
|
||||
$helper->log(' Keywords: - ' . $spreadsheet->getProperties()->getKeywords());
|
||||
|
||||
$helper->log('Extended (Application) Properties:');
|
||||
$helper->log(' Category - ' . $spreadsheet->getProperties()->getCategory());
|
||||
$helper->log(' Company - ' . $spreadsheet->getProperties()->getCompany());
|
||||
$helper->log(' Manager - ' . $spreadsheet->getProperties()->getManager());
|
||||
|
||||
$helper->log('Custom Properties:');
|
||||
$customProperties = $spreadsheet->getProperties()->getCustomProperties();
|
||||
foreach ($customProperties as $customProperty) {
|
||||
$propertyValue = $spreadsheet->getProperties()->getCustomPropertyValue($customProperty);
|
||||
$propertyType = $spreadsheet->getProperties()->getCustomPropertyType($customProperty);
|
||||
if ($propertyType == Properties::PROPERTY_TYPE_DATE) {
|
||||
$formattedValue = date('d-M-Y H:i:s', $propertyValue);
|
||||
} elseif ($propertyType == Properties::PROPERTY_TYPE_BOOLEAN) {
|
||||
$formattedValue = $propertyValue ? 'TRUE' : 'FALSE';
|
||||
} else {
|
||||
$formattedValue = $propertyValue;
|
||||
}
|
||||
$helper->log(' ' . $customProperty . ' - (' . $propertyType . ') - ' . $formattedValue);
|
||||
}
|
||||
|
||||
$helper->logEndingNotes();
|
32
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/37_Page_layout_view.php
vendored
Normal file
32
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/37_Page_layout_view.php
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\SheetView;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('PHPOffice')
|
||||
->setLastModifiedBy('PHPOffice')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('Office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A1', 'Hello')
|
||||
->setCellValue('B2', 'world!');
|
||||
|
||||
// Set the page layout view as page layout
|
||||
$spreadsheet->getActiveSheet()->getSheetView()->setView(SheetView::SHEETVIEW_PAGE_LAYOUT);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
57
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/38_Clone_worksheet.php
vendored
Normal file
57
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/38_Clone_worksheet.php
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A1', 'Hello')
|
||||
->setCellValue('B2', 'world!')
|
||||
->setCellValue('C1', 'Hello')
|
||||
->setCellValue('D2', 'world!');
|
||||
|
||||
// Miscellaneous glyphs, UTF-8
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A4', 'Miscellaneous glyphs')
|
||||
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
|
||||
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A8', "Hello\nWorld");
|
||||
$spreadsheet->getActiveSheet()->getRowDimension(8)->setRowHeight(-1);
|
||||
$spreadsheet->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true);
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()->setTitle('Simple');
|
||||
|
||||
// Clone worksheet
|
||||
$helper->log('Clone worksheet');
|
||||
$clonedSheet = clone $spreadsheet->getActiveSheet();
|
||||
$clonedSheet
|
||||
->setCellValue('A1', 'Goodbye')
|
||||
->setCellValue('A2', 'cruel')
|
||||
->setCellValue('C1', 'Goodbye')
|
||||
->setCellValue('C2', 'cruel');
|
||||
|
||||
// Rename cloned worksheet
|
||||
$helper->log('Rename cloned worksheet');
|
||||
$clonedSheet->setTitle('Simple Clone');
|
||||
$spreadsheet->addSheet($clonedSheet);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
129
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/39_Dropdown.php
vendored
Normal file
129
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/39_Dropdown.php
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Cell\DataValidation;
|
||||
use PhpOffice\PhpSpreadsheet\NamedRange;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()
|
||||
->setCreator('PHPOffice')
|
||||
->setLastModifiedBy('PHPOffice')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('Office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
function transpose($value)
|
||||
{
|
||||
return [$value];
|
||||
}
|
||||
|
||||
// Add some data
|
||||
$continentColumn = 'D';
|
||||
$column = 'F';
|
||||
|
||||
// Set data for dropdowns
|
||||
$continents = glob(__DIR__ . '/data/continents/*');
|
||||
foreach ($continents as $key => $filename) {
|
||||
$continent = pathinfo($filename, PATHINFO_FILENAME);
|
||||
$helper->log("Loading $continent");
|
||||
$continent = str_replace(' ', '_', $continent);
|
||||
$countries = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||||
$countryCount = count($countries);
|
||||
|
||||
// Transpose $countries from a row to a column array
|
||||
$countries = array_map('transpose', $countries);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->fromArray($countries, null, $column . '1');
|
||||
$spreadsheet->addNamedRange(
|
||||
new NamedRange(
|
||||
$continent,
|
||||
$spreadsheet->getActiveSheet(),
|
||||
$column . '1:' . $column . $countryCount
|
||||
)
|
||||
);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getColumnDimension($column)
|
||||
->setVisible(false);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue($continentColumn . ($key + 1), $continent);
|
||||
|
||||
++$column;
|
||||
}
|
||||
|
||||
// Hide the dropdown data
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getColumnDimension($continentColumn)
|
||||
->setVisible(false);
|
||||
|
||||
$spreadsheet->addNamedRange(
|
||||
new NamedRange(
|
||||
'Continents',
|
||||
$spreadsheet->getActiveSheet(),
|
||||
$continentColumn . '1:' . $continentColumn . count($continents)
|
||||
)
|
||||
);
|
||||
|
||||
// Set selection cells
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A1', 'Continent:');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('B1', 'Select continent');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('B3', '=' . $column . 1);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('B3', 'Select country');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('A1:A3')
|
||||
->getFont()->setBold(true);
|
||||
|
||||
// Set linked validators
|
||||
$validation = $spreadsheet->getActiveSheet()
|
||||
->getCell('B1')
|
||||
->getDataValidation();
|
||||
$validation->setType(DataValidation::TYPE_LIST)
|
||||
->setErrorStyle(DataValidation::STYLE_INFORMATION)
|
||||
->setAllowBlank(false)
|
||||
->setShowInputMessage(true)
|
||||
->setShowErrorMessage(true)
|
||||
->setShowDropDown(true)
|
||||
->setErrorTitle('Input error')
|
||||
->setError('Continent is not in the list.')
|
||||
->setPromptTitle('Pick from the list')
|
||||
->setPrompt('Please pick a continent from the drop-down list.')
|
||||
->setFormula1('=Continents');
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A3', 'Country:');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('A3')
|
||||
->getFont()->setBold(true);
|
||||
|
||||
$validation = $spreadsheet->getActiveSheet()
|
||||
->getCell('B3')
|
||||
->getDataValidation();
|
||||
$validation->setType(DataValidation::TYPE_LIST)
|
||||
->setErrorStyle(DataValidation::STYLE_INFORMATION)
|
||||
->setAllowBlank(false)
|
||||
->setShowInputMessage(true)
|
||||
->setShowErrorMessage(true)
|
||||
->setShowDropDown(true)
|
||||
->setErrorTitle('Input error')
|
||||
->setError('Country is not in the list.')
|
||||
->setPromptTitle('Pick from the list')
|
||||
->setPrompt('Please pick a country from the drop-down list.')
|
||||
->setFormula1('=INDIRECT($B$1)');
|
||||
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(12);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setWidth(30);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
36
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/40_Duplicate_style.php
vendored
Normal file
36
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/40_Duplicate_style.php
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Style;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
$helper->log('Create styles array');
|
||||
$styles = [];
|
||||
for ($i = 0; $i < 10; ++$i) {
|
||||
$style = new Style();
|
||||
$style->getFont()->setSize($i + 4);
|
||||
$styles[] = $style;
|
||||
}
|
||||
|
||||
$helper->log('Add data (begin)');
|
||||
$t = microtime(true);
|
||||
for ($col = 1; $col <= 50; ++$col) {
|
||||
for ($row = 0; $row < 100; ++$row) {
|
||||
$str = ($row + $col);
|
||||
$style = $styles[$row % 10];
|
||||
$coord = Coordinate::stringFromColumnIndex($col) . ($row + 1);
|
||||
$worksheet->setCellValue($coord, $str);
|
||||
$worksheet->duplicateStyle($style, $coord);
|
||||
}
|
||||
}
|
||||
$d = microtime(true) - $t;
|
||||
$helper->log('Add data (end) . time: ' . round($d . 2) . ' s');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
12
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/41_Password.php
vendored
Normal file
12
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/41_Password.php
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
// Set password against the spreadsheet file
|
||||
$spreadsheet->getSecurity()->setLockWindows(true);
|
||||
$spreadsheet->getSecurity()->setLockStructure(true);
|
||||
$spreadsheet->getSecurity()->setWorkbookPassword('secret');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
98
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/42_RichText.php
vendored
Normal file
98
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/42_RichText.php
vendored
Normal file
@ -0,0 +1,98 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Helper\Html as HtmlHelper;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
|
||||
// Set document properties
|
||||
$helper->log('Set document properties');
|
||||
$spreadsheet->getProperties()->setCreator('Maarten Balliauw')
|
||||
->setLastModifiedBy('Maarten Balliauw')
|
||||
->setTitle('PhpSpreadsheet Test Document')
|
||||
->setSubject('PhpSpreadsheet Test Document')
|
||||
->setDescription('Test document for PhpSpreadsheet, generated using PHP classes.')
|
||||
->setKeywords('office PhpSpreadsheet php')
|
||||
->setCategory('Test result file');
|
||||
|
||||
// Add some data
|
||||
$helper->log('Add some data');
|
||||
|
||||
$html1 = '<font color="#0000ff">
|
||||
<h1 align="center">My very first example of rich text<br />generated from html markup</h1>
|
||||
<p>
|
||||
<font size="14" COLOR="rgb(0,255,128)">
|
||||
<b>This block</b> contains an <i>italicized</i> word;
|
||||
while this block uses an <u>underline</u>.
|
||||
</font>
|
||||
</p>
|
||||
<p align="right"><font size="9" color="red">
|
||||
I want to eat <ins><del>healthy food</del> <strong>pizza</strong></ins>.
|
||||
</font>
|
||||
';
|
||||
|
||||
$html2 = '<p>
|
||||
<font color="#ff0000">
|
||||
100°C is a hot temperature
|
||||
</font>
|
||||
<br>
|
||||
<font color="#0080ff">
|
||||
10°F is cold
|
||||
</font>
|
||||
</p>';
|
||||
|
||||
$html3 = '2<sup>3</sup> equals 8';
|
||||
|
||||
$html4 = 'H<sub>2</sub>SO<sub>4</sub> is the chemical formula for Sulphuric acid';
|
||||
|
||||
$html5 = '<strong>bold</strong>, <em>italic</em>, <strong><em>bold+italic</em></strong>';
|
||||
|
||||
$wizard = new HtmlHelper();
|
||||
$richText = $wizard->toRichTextObject($html1);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A1', $richText);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getColumnDimension('A')
|
||||
->setWidth(48);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getRowDimension(1)
|
||||
->setRowHeight(-1);
|
||||
$spreadsheet->getActiveSheet()->getStyle('A1')
|
||||
->getAlignment()
|
||||
->setWrapText(true);
|
||||
|
||||
$richText = $wizard->toRichTextObject($html2);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setCellValue('A2', $richText);
|
||||
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getRowDimension(1)
|
||||
->setRowHeight(-1);
|
||||
$spreadsheet->getActiveSheet()
|
||||
->getStyle('A2')
|
||||
->getAlignment()
|
||||
->setWrapText(true);
|
||||
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A3', $wizard->toRichTextObject($html3));
|
||||
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A4', $wizard->toRichTextObject($html4));
|
||||
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue('A5', $wizard->toRichTextObject($html5));
|
||||
|
||||
// Rename worksheet
|
||||
$helper->log('Rename worksheet');
|
||||
$spreadsheet->getActiveSheet()
|
||||
->setTitle('Rich Text Examples');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
26
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/43_Merge_workbooks.php
vendored
Normal file
26
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/43_Merge_workbooks.php
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$helper->log('Load MergeBook1 from Xlsx file');
|
||||
$filename1 = __DIR__ . '/../templates/43mergeBook1.xlsx';
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet1 = IOFactory::load($filename1);
|
||||
$helper->logRead('Xlsx', $filename1, $callStartTime);
|
||||
|
||||
$helper->log('Load MergeBook2 from Xlsx file');
|
||||
$filename2 = __DIR__ . '/../templates/43mergeBook2.xlsx';
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet2 = IOFactory::load($filename2);
|
||||
$helper->logRead('Xlsx', $filename2, $callStartTime);
|
||||
|
||||
foreach ($spreadsheet2->getSheetNames() as $sheetName) {
|
||||
$sheet = $spreadsheet2->getSheetByName($sheetName);
|
||||
$sheet->setTitle($sheet->getTitle() . ' copied');
|
||||
$spreadsheet1->addExternalSheet($sheet);
|
||||
}
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet1, __FILE__);
|
26
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/44_Worksheet_info.php
vendored
Normal file
26
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/44_Worksheet_info.php
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create temporary file that will be read
|
||||
$sampleSpreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
$filename = $helper->getTemporaryFilename();
|
||||
$writer = new Xlsx($sampleSpreadsheet);
|
||||
$writer->save($filename);
|
||||
|
||||
$inputFileType = IOFactory::identify($filename);
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$sheetList = $reader->listWorksheetNames($filename);
|
||||
$sheetInfo = $reader->listWorksheetInfo($filename);
|
||||
|
||||
$helper->log('File Type:');
|
||||
var_dump($inputFileType);
|
||||
|
||||
$helper->log('Worksheet Names:');
|
||||
var_dump($sheetList);
|
||||
|
||||
$helper->log('Worksheet Names:');
|
||||
var_dump($sheetInfo);
|
43
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/45_Quadratic_equation_solver.php
vendored
Normal file
43
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/45_Quadratic_equation_solver.php
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
?>
|
||||
<form action="45_Quadratic_equation_solver.php" method="POST">
|
||||
Enter the coefficients for the Ax<sup>2</sup> + Bx + C = 0
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td><b>A </b></td>
|
||||
<td><input name="A" type="text" size="8" value="<?php echo (isset($_POST['A'])) ? htmlentities($_POST['A']) : ''; ?>"></td>
|
||||
</tr>
|
||||
<tr><td><b>B </b></td>
|
||||
<td><input name="B" type="text" size="8" value="<?php echo (isset($_POST['B'])) ? htmlentities($_POST['B']) : ''; ?>"></td>
|
||||
</tr>
|
||||
<tr><td><b>C </b></td>
|
||||
<td><input name="C" type="text" size="8" value="<?php echo (isset($_POST['C'])) ? htmlentities($_POST['C']) : ''; ?>"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<input name="submit" type="submit" value="calculate"><br />
|
||||
If A=0, the equation is not quadratic.
|
||||
</form>
|
||||
|
||||
<?php
|
||||
/** If the user has submitted the form, then we need to execute a calculation * */
|
||||
if (isset($_POST['submit'])) {
|
||||
if ($_POST['A'] == 0) {
|
||||
$helper->log('The equation is not quadratic');
|
||||
} else {
|
||||
// Calculate and Display the results
|
||||
$helper->log('<hr /><b>Roots:</b><br />');
|
||||
|
||||
$discriminantFormula = '=POWER(' . $_POST['B'] . ',2) - (4 * ' . $_POST['A'] . ' * ' . $_POST['C'] . ')';
|
||||
$discriminant = Calculation::getInstance()->calculateFormula($discriminantFormula);
|
||||
|
||||
$r1Formula = '=IMDIV(IMSUM(-' . $_POST['B'] . ',IMSQRT(' . $discriminant . ')),2 * ' . $_POST['A'] . ')';
|
||||
$r2Formula = '=IF(' . $discriminant . '=0,"Only one root",IMDIV(IMSUB(-' . $_POST['B'] . ',IMSQRT(' . $discriminant . ')),2 * ' . $_POST['A'] . '))';
|
||||
|
||||
$helper->log(Calculation::getInstance()->calculateFormula($r1Formula));
|
||||
$helper->log(Calculation::getInstance()->calculateFormula($r2Formula));
|
||||
$callEndTime = microtime(true);
|
||||
$helper->logEndingNotes();
|
||||
}
|
||||
}
|
19
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/46_ReadHtml.php
vendored
Normal file
19
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/46_ReadHtml.php
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
// Turn off error reporting
|
||||
error_reporting(0);
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$html = __DIR__ . '/../templates/46readHtml.html';
|
||||
$callStartTime = microtime(true);
|
||||
|
||||
$objReader = IOFactory::createReader('Html');
|
||||
$objPHPExcel = $objReader->load($html);
|
||||
|
||||
$helper->logRead('Html', $html, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($objPHPExcel, __FILE__);
|
54
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Africa.txt
vendored
Normal file
54
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Africa.txt
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
Algeria
|
||||
Angola
|
||||
Benin
|
||||
Botswana
|
||||
Burkina
|
||||
Burundi
|
||||
Cameroon
|
||||
Cape Verde
|
||||
Central African Republic
|
||||
Chad
|
||||
Comoros
|
||||
Congo
|
||||
Congo, Democratic Republic of
|
||||
Djibouti
|
||||
Egypt
|
||||
Equatorial Guinea
|
||||
Eritrea
|
||||
Ethiopia
|
||||
Gabon
|
||||
Gambia
|
||||
Ghana
|
||||
Guinea
|
||||
Guinea-Bissau
|
||||
Ivory Coast
|
||||
Kenya
|
||||
Lesotho
|
||||
Liberia
|
||||
Libya
|
||||
Madagascar
|
||||
Malawi
|
||||
Mali
|
||||
Mauritania
|
||||
Mauritius
|
||||
Morocco
|
||||
Mozambique
|
||||
Namibia
|
||||
Niger
|
||||
Nigeria
|
||||
Rwanda
|
||||
Sao Tome and Principe
|
||||
Senegal
|
||||
Seychelles
|
||||
Sierra Leone
|
||||
Somalia
|
||||
South Africa
|
||||
South Sudan
|
||||
Sudan
|
||||
Swaziland
|
||||
Tanzania
|
||||
Togo
|
||||
Tunisia
|
||||
Uganda
|
||||
Zambia
|
||||
Zimbabwe
|
44
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Asia.txt
vendored
Normal file
44
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Asia.txt
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
Afghanistan
|
||||
Bahrain
|
||||
Bangladesh
|
||||
Bhutan
|
||||
Brunei
|
||||
Burma (Myanmar)
|
||||
Cambodia
|
||||
China
|
||||
East Timor
|
||||
India
|
||||
Indonesia
|
||||
Iran
|
||||
Iraq
|
||||
Israel
|
||||
Japan
|
||||
Jordan
|
||||
Kazakhstan
|
||||
Korea, North
|
||||
Korea, South
|
||||
Kuwait
|
||||
Kyrgyzstan
|
||||
Laos
|
||||
Lebanon
|
||||
Malaysia
|
||||
Maldives
|
||||
Mongolia
|
||||
Nepal
|
||||
Oman
|
||||
Pakistan
|
||||
Philippines
|
||||
Qatar
|
||||
Russian Federation
|
||||
Saudi Arabia
|
||||
Singapore
|
||||
Sri Lanka
|
||||
Syria
|
||||
Tajikistan
|
||||
Thailand
|
||||
Turkey
|
||||
Turkmenistan
|
||||
United Arab Emirates
|
||||
Uzbekistan
|
||||
Vietnam
|
||||
Yemen
|
47
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Europe.txt
vendored
Normal file
47
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Europe.txt
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
Albania
|
||||
Andorra
|
||||
Armenia
|
||||
Austria
|
||||
Azerbaijan
|
||||
Belarus
|
||||
Belgium
|
||||
Bosnia and Herzegovina
|
||||
Bulgaria
|
||||
Croatia
|
||||
Cyprus
|
||||
Czech Republic
|
||||
Denmark
|
||||
Estonia
|
||||
Finland
|
||||
France
|
||||
Georgia
|
||||
Germany
|
||||
Greece
|
||||
Hungary
|
||||
Iceland
|
||||
Ireland
|
||||
Italy
|
||||
Latvia
|
||||
Liechtenstein
|
||||
Lithuania
|
||||
Luxembourg
|
||||
Macedonia
|
||||
Malta
|
||||
Moldova
|
||||
Monaco
|
||||
Montenegro
|
||||
Netherlands
|
||||
Norway
|
||||
Poland
|
||||
Portugal
|
||||
Romania
|
||||
San Marino
|
||||
Serbia
|
||||
Slovakia
|
||||
Slovenia
|
||||
Spain
|
||||
Sweden
|
||||
Switzerland
|
||||
Ukraine
|
||||
United Kingdom
|
||||
Vatican City
|
23
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/North America.txt
vendored
Normal file
23
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/North America.txt
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
Antigua and Barbuda
|
||||
Bahamas
|
||||
Barbados
|
||||
Belize
|
||||
Canada
|
||||
Costa Rica
|
||||
Cuba
|
||||
Dominica
|
||||
Dominican Republic
|
||||
El Salvador
|
||||
Grenada
|
||||
Guatemala
|
||||
Haiti
|
||||
Honduras
|
||||
Jamaica
|
||||
Mexico
|
||||
Nicaragua
|
||||
Panama
|
||||
Saint Kitts and Nevis
|
||||
Saint Lucia
|
||||
Saint Vincent and the Grenadines
|
||||
Trinidad and Tobago
|
||||
United States
|
14
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Oceania.txt
vendored
Normal file
14
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/Oceania.txt
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
Australia
|
||||
Fiji
|
||||
Kiribati
|
||||
Marshall Islands
|
||||
Micronesia
|
||||
Nauru
|
||||
New Zealand
|
||||
Palau
|
||||
Papua New Guinea
|
||||
Samoa
|
||||
Solomon Islands
|
||||
Tonga
|
||||
Tuvalu
|
||||
Vanuatu
|
12
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/South America.txt
vendored
Normal file
12
inc/vendor/phpoffice/phpspreadsheet/samples/Basic/data/continents/South America.txt
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
Argentina
|
||||
Bolivia
|
||||
Brazil
|
||||
Chile
|
||||
Colombia
|
||||
Ecuador
|
||||
Guyana
|
||||
Paraguay
|
||||
Peru
|
||||
Suriname
|
||||
Uruguay
|
||||
Venezuela
|
56
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DAVERAGE.php
vendored
Normal file
56
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DAVERAGE.php
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Returns the average of selected database entries.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The Average yield of Apple trees over 10\' in height');
|
||||
$worksheet->setCellValue('B12', '=DAVERAGE(A4:E10,"Yield",A1:B2)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The Average age of all Apple and Pear trees in the orchard');
|
||||
$worksheet->setCellValue('B13', '=DAVERAGE(A4:E10,3,A1:A3)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:B2', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DAVERAGE() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DAVERAGE() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DCOUNT.php
vendored
Normal file
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DCOUNT.php
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
$helper->log('Counts the cells that contain numbers in a database.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The Number of Apple trees over 10\' in height');
|
||||
$worksheet->setCellValue('B12', '=DCOUNT(A4:E10,"Yield",A1:B2)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The Number of Apple and Pear trees in the orchard');
|
||||
$worksheet->setCellValue('B13', '=DCOUNT(A4:E10,3,A1:A3)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:B2', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DCOUNT() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DCOUNT() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
52
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DGET.php
vendored
Normal file
52
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DGET.php
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Extracts a single value from a column of a list or database that matches conditions that you specify.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The height of the Apple tree between 10\' and 16\' tall');
|
||||
$worksheet->setCellValue('B12', '=DGET(A4:E10,"Height",A1:F2)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$helper->log('ALL');
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DMAX() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A2', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DMAX() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DMAX.php
vendored
Normal file
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DMAX.php
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Returns the maximum value from selected database entries.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The tallest tree in the orchard');
|
||||
$worksheet->setCellValue('B12', '=DMAX(A4:E10,"Height",A4:E10)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The Oldest apple tree in the orchard');
|
||||
$worksheet->setCellValue('B13', '=DMAX(A4:E10,3,A1:A2)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$helper->log('ALL');
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DMAX() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A2', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DMAX() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DMIN.php
vendored
Normal file
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DMIN.php
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Returns the minimum value from selected database entries.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The shortest tree in the orchard');
|
||||
$worksheet->setCellValue('B12', '=DMIN(A4:E10,"Height",A4:E10)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The Youngest apple tree in the orchard');
|
||||
$worksheet->setCellValue('B13', '=DMIN(A4:E10,3,A1:A2)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$helper->log('ALL');
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DMIN() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A2', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DMIN() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
52
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DPRODUCT.php
vendored
Normal file
52
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DPRODUCT.php
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Multiplies the values in a column of a list or database that match conditions that you specify.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The product of the yields of all Apple trees over 10\' in the orchard');
|
||||
$worksheet->setCellValue('B12', '=DPRODUCT(A4:E10,"Yield",A1:B2)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$helper->log('ALL');
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DMAX() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A2', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DMAX() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
56
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DSTDEV.php
vendored
Normal file
56
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DSTDEV.php
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Estimates the standard deviation based on a sample of selected database entries.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The estimated standard deviation in the yield of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B12', '=DSTDEV(A4:E10,"Yield",A1:A3)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The estimated standard deviation in height of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B13', '=DSTDEV(A4:E10,2,A1:A3)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DSTDEV() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DSTDEV() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DSTDEVP.php
vendored
Normal file
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DSTDEVP.php
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
$helper->log('Calculates the standard deviation based on the entire population of selected database entries.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The standard deviation in the yield of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B12', '=DSTDEVP(A4:E10,"Yield",A1:A3)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The standard deviation in height of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B13', '=DSTDEVP(A4:E10,2,A1:A3)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DSTDEVP() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DSTDEVP() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DVAR.php
vendored
Normal file
55
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DVAR.php
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
$helper->log('Estimates variance based on a sample from selected database entries.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The estimated variance in the yield of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B12', '=DVAR(A4:E10,"Yield",A1:A3)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The estimated variance in height of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B13', '=DVAR(A4:E10,2,A1:A3)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DVAR() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DVAR() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
56
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DVARP.php
vendored
Normal file
56
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/Database/DVARP.php
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Calculates variance based on the entire population of selected database entries,');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'],
|
||||
['Apple', 18, 20, 14, 105.00],
|
||||
['Pear', 12, 12, 10, 96.00],
|
||||
['Cherry', 13, 14, 9, 105.00],
|
||||
['Apple', 14, 15, 10, 75.00],
|
||||
['Pear', 9, 8, 8, 76.80],
|
||||
['Apple', 8, 9, 6, 45.00],
|
||||
];
|
||||
$criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'],
|
||||
['="=Apple"', '>10', null, null, null, '<16'],
|
||||
['="=Pear"', null, null, null, null, null],
|
||||
];
|
||||
|
||||
$worksheet->fromArray($criteria, null, 'A1');
|
||||
$worksheet->fromArray($database, null, 'A4');
|
||||
|
||||
$worksheet->setCellValue('A12', 'The variance in the yield of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B12', '=DVARP(A4:E10,"Yield",A1:A3)');
|
||||
|
||||
$worksheet->setCellValue('A13', 'The variance in height of Apple and Pear trees');
|
||||
$worksheet->setCellValue('B13', '=DVARP(A4:E10,2,A1:A3)');
|
||||
|
||||
$helper->log('Database');
|
||||
|
||||
$databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true);
|
||||
var_dump($databaseData);
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A12')->getValue());
|
||||
$helper->log('DVARP() Result is ' . $worksheet->getCell('B12')->getCalculatedValue());
|
||||
|
||||
$helper->log('Criteria');
|
||||
|
||||
$criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true);
|
||||
var_dump($criteriaData);
|
||||
|
||||
$helper->log($worksheet->getCell('A13')->getValue());
|
||||
$helper->log('DVARP() Result is ' . $worksheet->getCell('B13')->getCalculatedValue());
|
41
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/DATE.php
vendored
Normal file
41
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/DATE.php
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Returns the serial number of a particular date.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$testDates = [[2012, 3, 26], [2012, 2, 29], [2012, 4, 1], [2012, 12, 25],
|
||||
[2012, 10, 31], [2012, 11, 5], [2012, 1, 1], [2012, 3, 17],
|
||||
[2011, 2, 29], [7, 5, 3], [2012, 13, 1], [2012, 11, 45],
|
||||
[2012, 0, 0], [2012, 1, 0], [2012, 0, 1],
|
||||
[2012, -2, 2], [2012, 2, -2], [2012, -2, -2],
|
||||
];
|
||||
$testDateCount = count($testDates);
|
||||
|
||||
$worksheet->fromArray($testDates, null, 'A1', true);
|
||||
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$worksheet->setCellValue('D' . $row, '=DATE(A' . $row . ',B' . $row . ',C' . $row . ')');
|
||||
$worksheet->setCellValue('E' . $row, '=D' . $row);
|
||||
}
|
||||
$worksheet->getStyle('E1:E' . $testDateCount)
|
||||
->getNumberFormat()
|
||||
->setFormatCode('yyyy-mmm-dd');
|
||||
|
||||
// Test the formulae
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$helper->log('Year: ' . $worksheet->getCell('A' . $row)->getFormattedValue());
|
||||
$helper->log('Month: ' . $worksheet->getCell('B' . $row)->getFormattedValue());
|
||||
$helper->log('Day: ' . $worksheet->getCell('C' . $row)->getFormattedValue());
|
||||
$helper->log('Formula: ' . $worksheet->getCell('D' . $row)->getValue());
|
||||
$helper->log('Excel DateStamp: ' . $worksheet->getCell('D' . $row)->getFormattedValue());
|
||||
$helper->log('Formatted DateStamp: ' . $worksheet->getCell('E' . $row)->getFormattedValue());
|
||||
$helper->log('');
|
||||
}
|
39
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/DATEVALUE.php
vendored
Normal file
39
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/DATEVALUE.php
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Converts a date in the form of text to a serial number.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$testDates = ['26 March 2012', '29 Feb 2012', 'April 1, 2012', '25/12/2012',
|
||||
'2012-Oct-31', '5th November', 'January 1st', 'April 2012',
|
||||
'17-03', '03-2012', '29 Feb 2011', '03-05-07',
|
||||
'03-MAY-07', '03-13-07',
|
||||
];
|
||||
$testDateCount = count($testDates);
|
||||
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$worksheet->setCellValue('A' . $row, $testDates[$row - 1]);
|
||||
$worksheet->setCellValue('B' . $row, '=DATEVALUE(A' . $row . ')');
|
||||
$worksheet->setCellValue('C' . $row, '=B' . $row);
|
||||
}
|
||||
|
||||
$worksheet->getStyle('C1:C' . $testDateCount)
|
||||
->getNumberFormat()
|
||||
->setFormatCode('yyyy-mmm-dd');
|
||||
|
||||
// Test the formulae
|
||||
$helper->log('<strong>Warning: </strong>The PhpSpreadsheet DATEVALUE() function accepts a wider range of date formats than MS Excel DATEFORMAT() function.');
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$helper->log('Date String: ' . $worksheet->getCell('A' . $row)->getFormattedValue());
|
||||
$helper->log('Formula: ' . $worksheet->getCell('B' . $row)->getValue());
|
||||
$helper->log('Excel DateStamp: ' . $worksheet->getCell('B' . $row)->getFormattedValue());
|
||||
$helper->log('Formatted DateStamp' . $worksheet->getCell('C' . $row)->getFormattedValue());
|
||||
$helper->log('');
|
||||
}
|
39
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/TIME.php
vendored
Normal file
39
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/TIME.php
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Returns the serial number of a particular time.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$testDates = [[3, 15], [13, 15], [15, 15, 15], [3, 15, 30],
|
||||
[15, 15, 15], [5], [9, 15, 0], [9, 15, -1],
|
||||
[13, -14, -15], [0, 0, -1],
|
||||
];
|
||||
$testDateCount = count($testDates);
|
||||
|
||||
$worksheet->fromArray($testDates, null, 'A1', true);
|
||||
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$worksheet->setCellValue('D' . $row, '=TIME(A' . $row . ',B' . $row . ',C' . $row . ')');
|
||||
$worksheet->setCellValue('E' . $row, '=D' . $row);
|
||||
}
|
||||
$worksheet->getStyle('E1:E' . $testDateCount)
|
||||
->getNumberFormat()
|
||||
->setFormatCode('hh:mm:ss');
|
||||
|
||||
// Test the formulae
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$helper->log('Hour: ' . $worksheet->getCell('A' . $row)->getFormattedValue());
|
||||
$helper->log('Minute: ' . $worksheet->getCell('B' . $row)->getFormattedValue());
|
||||
$helper->log('Second: ' . $worksheet->getCell('C' . $row)->getFormattedValue());
|
||||
$helper->log('Formula: ' . $worksheet->getCell('D' . $row)->getValue());
|
||||
$helper->log('Excel TimeStamp: ' . $worksheet->getCell('D' . $row)->getFormattedValue());
|
||||
$helper->log('Formatted TimeStamp: ' . $worksheet->getCell('E' . $row)->getFormattedValue());
|
||||
$helper->log('');
|
||||
}
|
35
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/TIMEVALUE.php
vendored
Normal file
35
inc/vendor/phpoffice/phpspreadsheet/samples/Calculations/DateTime/TIMEVALUE.php
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../../Header.php';
|
||||
|
||||
$helper->log('Converts a time in the form of text to a serial number.');
|
||||
|
||||
// Create new PhpSpreadsheet object
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
// Add some data
|
||||
$testDates = ['3:15', '13:15', '15:15:15', '3:15 AM', '3:15 PM', '5PM', '9:15AM', '13:15AM',
|
||||
];
|
||||
$testDateCount = count($testDates);
|
||||
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$worksheet->setCellValue('A' . $row, $testDates[$row - 1]);
|
||||
$worksheet->setCellValue('B' . $row, '=TIMEVALUE(A' . $row . ')');
|
||||
$worksheet->setCellValue('C' . $row, '=B' . $row);
|
||||
}
|
||||
|
||||
$worksheet->getStyle('C1:C' . $testDateCount)
|
||||
->getNumberFormat()
|
||||
->setFormatCode('hh:mm:ss');
|
||||
|
||||
// Test the formulae
|
||||
for ($row = 1; $row <= $testDateCount; ++$row) {
|
||||
$helper->log('Time String: ' . $worksheet->getCell('A' . $row)->getFormattedValue());
|
||||
$helper->log('Formula: ' . $worksheet->getCell('B' . $row)->getValue());
|
||||
$helper->log('Excel TimeStamp: ' . $worksheet->getCell('B' . $row)->getFormattedValue());
|
||||
$helper->log('Formatted TimeStamp: ' . $worksheet->getCell('C' . $row)->getFormattedValue());
|
||||
$helper->log('');
|
||||
}
|
83
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/32_Chart_read_write.php
vendored
Normal file
83
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/32_Chart_read_write.php
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$inputFileType = 'Xlsx';
|
||||
$inputFileNames = __DIR__ . '/../templates/32readwrite*[0-9].xlsx';
|
||||
|
||||
if ((isset($argc)) && ($argc > 1)) {
|
||||
$inputFileNames = [];
|
||||
for ($i = 1; $i < $argc; ++$i) {
|
||||
$inputFileNames[] = __DIR__ . '/../templates/' . $argv[$i];
|
||||
}
|
||||
} else {
|
||||
$inputFileNames = glob($inputFileNames);
|
||||
}
|
||||
foreach ($inputFileNames as $inputFileName) {
|
||||
$inputFileNameShort = basename($inputFileName);
|
||||
|
||||
if (!file_exists($inputFileName)) {
|
||||
$helper->log('File ' . $inputFileNameShort . ' does not exist');
|
||||
|
||||
continue;
|
||||
}
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$reader->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
$helper->logRead($inputFileType, $inputFileName, $callStartTime);
|
||||
|
||||
$helper->log('Iterate worksheets looking at the charts');
|
||||
foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
|
||||
$sheetName = $worksheet->getTitle();
|
||||
$helper->log('Worksheet: ' . $sheetName);
|
||||
|
||||
$chartNames = $worksheet->getChartNames();
|
||||
if (empty($chartNames)) {
|
||||
$helper->log(' There are no charts in this worksheet');
|
||||
} else {
|
||||
natsort($chartNames);
|
||||
foreach ($chartNames as $i => $chartName) {
|
||||
$chart = $worksheet->getChartByName($chartName);
|
||||
if ($chart->getTitle() !== null) {
|
||||
$caption = '"' . implode(' ', $chart->getTitle()->getCaption()) . '"';
|
||||
} else {
|
||||
$caption = 'Untitled';
|
||||
}
|
||||
$helper->log(' ' . $chartName . ' - ' . $caption);
|
||||
$indentation = str_repeat(' ', strlen($chartName) + 3);
|
||||
$groupCount = $chart->getPlotArea()->getPlotGroupCount();
|
||||
if ($groupCount == 1) {
|
||||
$chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType();
|
||||
$helper->log($indentation . ' ' . $chartType);
|
||||
} else {
|
||||
$chartTypes = [];
|
||||
for ($i = 0; $i < $groupCount; ++$i) {
|
||||
$chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
|
||||
}
|
||||
$chartTypes = array_unique($chartTypes);
|
||||
if (count($chartTypes) == 1) {
|
||||
$chartType = 'Multiple Plot ' . array_pop($chartTypes);
|
||||
$helper->log($indentation . ' ' . $chartType);
|
||||
} elseif (count($chartTypes) == 0) {
|
||||
$helper->log($indentation . ' *** Type not yet implemented');
|
||||
} else {
|
||||
$helper->log($indentation . ' Combination Chart');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$outputFileName = $helper->getFilename($inputFileName);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($outputFileName);
|
||||
$helper->logWrite($writer, $outputFileName, $callStartTime);
|
||||
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
unset($spreadsheet);
|
||||
}
|
89
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/32_Chart_read_write_HTML.php
vendored
Normal file
89
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/32_Chart_read_write_HTML.php
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Settings;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Change these values to select the Rendering library that you wish to use
|
||||
Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class);
|
||||
|
||||
$inputFileType = 'Xlsx';
|
||||
$inputFileNames = __DIR__ . '/../templates/36write*.xlsx';
|
||||
|
||||
if ((isset($argc)) && ($argc > 1)) {
|
||||
$inputFileNames = [];
|
||||
for ($i = 1; $i < $argc; ++$i) {
|
||||
$inputFileNames[] = __DIR__ . '/../templates/' . $argv[$i];
|
||||
}
|
||||
} else {
|
||||
$inputFileNames = glob($inputFileNames);
|
||||
}
|
||||
foreach ($inputFileNames as $inputFileName) {
|
||||
$inputFileNameShort = basename($inputFileName);
|
||||
|
||||
if (!file_exists($inputFileName)) {
|
||||
$helper->log('File ' . $inputFileNameShort . ' does not exist');
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
$helper->log("Load Test from $inputFileType file " . $inputFileNameShort);
|
||||
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$reader->setIncludeCharts(true);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$helper->log('Iterate worksheets looking at the charts');
|
||||
foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
|
||||
$sheetName = $worksheet->getTitle();
|
||||
$helper->log('Worksheet: ' . $sheetName);
|
||||
|
||||
$chartNames = $worksheet->getChartNames();
|
||||
if (empty($chartNames)) {
|
||||
$helper->log(' There are no charts in this worksheet');
|
||||
} else {
|
||||
natsort($chartNames);
|
||||
foreach ($chartNames as $i => $chartName) {
|
||||
$chart = $worksheet->getChartByName($chartName);
|
||||
if ($chart->getTitle() !== null) {
|
||||
$caption = '"' . implode(' ', $chart->getTitle()->getCaption()) . '"';
|
||||
} else {
|
||||
$caption = 'Untitled';
|
||||
}
|
||||
$helper->log(' ' . $chartName . ' - ' . $caption);
|
||||
$helper->log(str_repeat(' ', strlen($chartName) + 3));
|
||||
$groupCount = $chart->getPlotArea()->getPlotGroupCount();
|
||||
if ($groupCount == 1) {
|
||||
$chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType();
|
||||
$helper->log(' ' . $chartType);
|
||||
} else {
|
||||
$chartTypes = [];
|
||||
for ($i = 0; $i < $groupCount; ++$i) {
|
||||
$chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
|
||||
}
|
||||
$chartTypes = array_unique($chartTypes);
|
||||
if (count($chartTypes) == 1) {
|
||||
$chartType = 'Multiple Plot ' . array_pop($chartTypes);
|
||||
$helper->log(' ' . $chartType);
|
||||
} elseif (count($chartTypes) == 0) {
|
||||
$helper->log(' *** Type not yet implemented');
|
||||
} else {
|
||||
$helper->log(' Combination Chart');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Save
|
||||
$filename = $helper->getFilename($inputFileName, 'html');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Html');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
unset($spreadsheet);
|
||||
}
|
91
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/32_Chart_read_write_PDF.php
vendored
Normal file
91
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/32_Chart_read_write_PDF.php
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Settings;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
IOFactory::registerWriter('Pdf', \PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf::class);
|
||||
|
||||
// Change these values to select the Rendering library that you wish to use
|
||||
Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class);
|
||||
|
||||
$inputFileType = 'Xlsx';
|
||||
$inputFileNames = __DIR__ . '/../templates/36write*.xlsx';
|
||||
|
||||
if ((isset($argc)) && ($argc > 1)) {
|
||||
$inputFileNames = [];
|
||||
for ($i = 1; $i < $argc; ++$i) {
|
||||
$inputFileNames[] = __DIR__ . '/../templates/' . $argv[$i];
|
||||
}
|
||||
} else {
|
||||
$inputFileNames = glob($inputFileNames);
|
||||
}
|
||||
foreach ($inputFileNames as $inputFileName) {
|
||||
$inputFileNameShort = basename($inputFileName);
|
||||
|
||||
if (!file_exists($inputFileName)) {
|
||||
$helper->log('File ' . $inputFileNameShort . ' does not exist');
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
$helper->log("Load Test from $inputFileType file " . $inputFileNameShort);
|
||||
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$reader->setIncludeCharts(true);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$helper->log('Iterate worksheets looking at the charts');
|
||||
foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
|
||||
$sheetName = $worksheet->getTitle();
|
||||
$helper->log('Worksheet: ' . $sheetName);
|
||||
|
||||
$chartNames = $worksheet->getChartNames();
|
||||
if (empty($chartNames)) {
|
||||
$helper->log(' There are no charts in this worksheet');
|
||||
} else {
|
||||
natsort($chartNames);
|
||||
foreach ($chartNames as $i => $chartName) {
|
||||
$chart = $worksheet->getChartByName($chartName);
|
||||
if ($chart->getTitle() !== null) {
|
||||
$caption = '"' . implode(' ', $chart->getTitle()->getCaption()) . '"';
|
||||
} else {
|
||||
$caption = 'Untitled';
|
||||
}
|
||||
$helper->log(' ' . $chartName . ' - ' . $caption);
|
||||
$helper->log(str_repeat(' ', strlen($chartName) + 3));
|
||||
$groupCount = $chart->getPlotArea()->getPlotGroupCount();
|
||||
if ($groupCount == 1) {
|
||||
$chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType();
|
||||
$helper->log(' ' . $chartType);
|
||||
} else {
|
||||
$chartTypes = [];
|
||||
for ($i = 0; $i < $groupCount; ++$i) {
|
||||
$chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
|
||||
}
|
||||
$chartTypes = array_unique($chartTypes);
|
||||
if (count($chartTypes) == 1) {
|
||||
$chartType = 'Multiple Plot ' . array_pop($chartTypes);
|
||||
$helper->log(' ' . $chartType);
|
||||
} elseif (count($chartTypes) == 0) {
|
||||
$helper->log(' *** Type not yet implemented');
|
||||
} else {
|
||||
$helper->log(' Combination Chart');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Save
|
||||
$filename = $helper->getFilename($inputFileName, 'pdf');
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Pdf');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
unset($spreadsheet);
|
||||
}
|
104
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_area.php
vendored
Normal file
104
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_area.php
vendored
Normal file
@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Q1', 12, 15, 21],
|
||||
['Q2', 56, 73, 86],
|
||||
['Q3', 52, 61, 69],
|
||||
['Q4', 30, 32, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // 2010
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_AREACHART, // plotType
|
||||
DataSeries::GROUPING_PERCENT_STACKED, // plotGrouping
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues // plotValues
|
||||
);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_TOPRIGHT, null, false);
|
||||
|
||||
$title = new Title('Test %age-Stacked Area Chart');
|
||||
$yAxisLabel = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
$yAxisLabel // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('A7');
|
||||
$chart->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
15
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_bar.php
vendored
Normal file
15
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_bar.php
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = require __DIR__ . '/../templates/chartSpreadsheet.php';
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
107
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_bar_stacked.php
vendored
Normal file
107
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_bar_stacked.php
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Q1', 12, 15, 21],
|
||||
['Q2', 56, 73, 86],
|
||||
['Q3', 52, 61, 69],
|
||||
['Q4', 30, 32, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // 2010
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_BARCHART, // plotType
|
||||
DataSeries::GROUPING_STACKED, // plotGrouping
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues // plotValues
|
||||
);
|
||||
// Set additional dataseries parameters
|
||||
// Make it a horizontal bar rather than a vertical column graph
|
||||
$series->setPlotDirection(DataSeries::DIRECTION_BAR);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_RIGHT, null, false);
|
||||
|
||||
$title = new Title('Test Chart');
|
||||
$yAxisLabel = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
$yAxisLabel // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('A7');
|
||||
$chart->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
107
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_column.php
vendored
Normal file
107
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_column.php
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Q1', 12, 15, 21],
|
||||
['Q2', 56, 73, 86],
|
||||
['Q3', 52, 61, 69],
|
||||
['Q4', 30, 32, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // 2010
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_BARCHART, // plotType
|
||||
DataSeries::GROUPING_STANDARD, // plotGrouping
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues // plotValues
|
||||
);
|
||||
// Set additional dataseries parameters
|
||||
// Make it a vertical column rather than a horizontal bar graph
|
||||
$series->setPlotDirection(DataSeries::DIRECTION_COL);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_RIGHT, null, false);
|
||||
|
||||
$title = new Title('Test Column Chart');
|
||||
$yAxisLabel = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
$yAxisLabel // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('A7');
|
||||
$chart->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
116
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_column_2.php
vendored
Normal file
116
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_column_2.php
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', '', 'Budget', 'Forecast', 'Actual'],
|
||||
['2010', 'Q1', 47, 44, 43],
|
||||
['', 'Q2', 56, 53, 50],
|
||||
['', 'Q3', 52, 46, 45],
|
||||
['', 'Q4', 45, 40, 40],
|
||||
['2011', 'Q1', 51, 42, 46],
|
||||
['', 'Q2', 53, 58, 56],
|
||||
['', 'Q3', 64, 66, 69],
|
||||
['', 'Q4', 54, 55, 56],
|
||||
['2012', 'Q1', 49, 52, 58],
|
||||
['', 'Q2', 68, 73, 86],
|
||||
['', 'Q3', 72, 78, 0],
|
||||
['', 'Q4', 50, 60, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 'Budget'
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 'Forecast'
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$E$1', null, 1), // 'Actual'
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$B$13', null, 12), // Q1 to Q4 for 2010 to 2012
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$13', null, 12),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$13', null, 12),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$E$2:$E$13', null, 12),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_BARCHART, // plotType
|
||||
DataSeries::GROUPING_CLUSTERED, // plotGrouping
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues // plotValues
|
||||
);
|
||||
// Set additional dataseries parameters
|
||||
// Make it a vertical column rather than a horizontal bar graph
|
||||
$series->setPlotDirection(DataSeries::DIRECTION_COL);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_BOTTOM, null, false);
|
||||
|
||||
$title = new Title('Test Grouped Column Chart');
|
||||
$xAxisLabel = new Title('Financial Period');
|
||||
$yAxisLabel = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
$xAxisLabel, // xAxisLabel
|
||||
$yAxisLabel // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('G2');
|
||||
$chart->setBottomRightPosition('P20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
160
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_composite.php
vendored
Normal file
160
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_composite.php
vendored
Normal file
@ -0,0 +1,160 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 'Rainfall (mm)', 'Temperature (°F)', 'Humidity (%)'],
|
||||
['Jan', 78, 52, 61],
|
||||
['Feb', 64, 54, 62],
|
||||
['Mar', 62, 57, 63],
|
||||
['Apr', 21, 62, 59],
|
||||
['May', 11, 75, 60],
|
||||
['Jun', 1, 75, 57],
|
||||
['Jul', 1, 79, 56],
|
||||
['Aug', 1, 79, 59],
|
||||
['Sep', 10, 75, 60],
|
||||
['Oct', 40, 68, 63],
|
||||
['Nov', 69, 62, 64],
|
||||
['Dec', 89, 57, 66],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // Temperature
|
||||
];
|
||||
$dataSeriesLabels2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // Rainfall
|
||||
];
|
||||
$dataSeriesLabels3 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // Humidity
|
||||
];
|
||||
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$13', null, 12), // Jan to Dec
|
||||
];
|
||||
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$13', null, 12),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series1 = new DataSeries(
|
||||
DataSeries::TYPE_BARCHART, // plotType
|
||||
DataSeries::GROUPING_CLUSTERED, // plotGrouping
|
||||
range(0, count($dataSeriesValues1) - 1), // plotOrder
|
||||
$dataSeriesLabels1, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues1 // plotValues
|
||||
);
|
||||
// Set additional dataseries parameters
|
||||
// Make it a vertical column rather than a horizontal bar graph
|
||||
$series1->setPlotDirection(DataSeries::DIRECTION_COL);
|
||||
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$13', null, 12),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series2 = new DataSeries(
|
||||
DataSeries::TYPE_LINECHART, // plotType
|
||||
DataSeries::GROUPING_STANDARD, // plotGrouping
|
||||
range(0, count($dataSeriesValues2) - 1), // plotOrder
|
||||
$dataSeriesLabels2, // plotLabel
|
||||
[], // plotCategory
|
||||
$dataSeriesValues2 // plotValues
|
||||
);
|
||||
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues3 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$13', null, 12),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series3 = new DataSeries(
|
||||
DataSeries::TYPE_AREACHART, // plotType
|
||||
DataSeries::GROUPING_STANDARD, // plotGrouping
|
||||
range(0, count($dataSeriesValues2) - 1), // plotOrder
|
||||
$dataSeriesLabels3, // plotLabel
|
||||
[], // plotCategory
|
||||
$dataSeriesValues3 // plotValues
|
||||
);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series1, $series2, $series3]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_RIGHT, null, false);
|
||||
|
||||
$title = new Title('Average Weather Chart for Crete');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
null // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('F2');
|
||||
$chart->setBottomRightPosition('O16');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
105
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_line.php
vendored
Normal file
105
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_line.php
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Q1', 12, 15, 21],
|
||||
['Q2', 56, 73, 86],
|
||||
['Q3', 52, 61, 69],
|
||||
['Q4', 30, 32, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // 2010
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$5', null, 4),
|
||||
];
|
||||
$dataSeriesValues[2]->setLineWidth(60000);
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_LINECHART, // plotType
|
||||
DataSeries::GROUPING_STACKED, // plotGrouping
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues // plotValues
|
||||
);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_TOPRIGHT, null, false);
|
||||
|
||||
$title = new Title('Test Stacked Line Chart');
|
||||
$yAxisLabel = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
$yAxisLabel // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('A7');
|
||||
$chart->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
179
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_multiple_charts.php
vendored
Normal file
179
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_multiple_charts.php
vendored
Normal file
@ -0,0 +1,179 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Q1', 12, 15, 21],
|
||||
['Q2', 56, 73, 86],
|
||||
['Q3', 52, 61, 69],
|
||||
['Q4', 30, 32, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // 2010
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series1 = new DataSeries(
|
||||
DataSeries::TYPE_AREACHART, // plotType
|
||||
DataSeries::GROUPING_PERCENT_STACKED, // plotGrouping
|
||||
range(0, count($dataSeriesValues1) - 1), // plotOrder
|
||||
$dataSeriesLabels1, // plotLabel
|
||||
$xAxisTickValues1, // plotCategory
|
||||
$dataSeriesValues1 // plotValues
|
||||
);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea1 = new PlotArea(null, [$series1]);
|
||||
// Set the chart legend
|
||||
$legend1 = new Legend(Legend::POSITION_TOPRIGHT, null, false);
|
||||
|
||||
$title1 = new Title('Test %age-Stacked Area Chart');
|
||||
$yAxisLabel1 = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart1 = new Chart(
|
||||
'chart1', // name
|
||||
$title1, // title
|
||||
$legend1, // legend
|
||||
$plotArea1, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
$yAxisLabel1 // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart1->setTopLeftPosition('A7');
|
||||
$chart1->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart1);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // 2010
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series2 = new DataSeries(
|
||||
DataSeries::TYPE_BARCHART, // plotType
|
||||
DataSeries::GROUPING_STANDARD, // plotGrouping
|
||||
range(0, count($dataSeriesValues2) - 1), // plotOrder
|
||||
$dataSeriesLabels2, // plotLabel
|
||||
$xAxisTickValues2, // plotCategory
|
||||
$dataSeriesValues2 // plotValues
|
||||
);
|
||||
// Set additional dataseries parameters
|
||||
// Make it a vertical column rather than a horizontal bar graph
|
||||
$series2->setPlotDirection(DataSeries::DIRECTION_COL);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea2 = new PlotArea(null, [$series2]);
|
||||
// Set the chart legend
|
||||
$legend2 = new Legend(Legend::POSITION_RIGHT, null, false);
|
||||
|
||||
$title2 = new Title('Test Column Chart');
|
||||
$yAxisLabel2 = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart2 = new Chart(
|
||||
'chart2', // name
|
||||
$title2, // title
|
||||
$legend2, // legend
|
||||
$plotArea2, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
$yAxisLabel2 // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart2->setTopLeftPosition('I7');
|
||||
$chart2->setBottomRightPosition('P20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart2);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
175
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_pie.php
vendored
Normal file
175
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_pie.php
vendored
Normal file
@ -0,0 +1,175 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Layout;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Q1', 12, 15, 21],
|
||||
['Q2', 56, 73, 86],
|
||||
['Q3', 52, 61, 69],
|
||||
['Q4', 30, 32, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues1 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series1 = new DataSeries(
|
||||
DataSeries::TYPE_PIECHART, // plotType
|
||||
null, // plotGrouping (Pie charts don't have any grouping)
|
||||
range(0, count($dataSeriesValues1) - 1), // plotOrder
|
||||
$dataSeriesLabels1, // plotLabel
|
||||
$xAxisTickValues1, // plotCategory
|
||||
$dataSeriesValues1 // plotValues
|
||||
);
|
||||
|
||||
// Set up a layout object for the Pie chart
|
||||
$layout1 = new Layout();
|
||||
$layout1->setShowVal(true);
|
||||
$layout1->setShowPercent(true);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea1 = new PlotArea($layout1, [$series1]);
|
||||
// Set the chart legend
|
||||
$legend1 = new Legend(Legend::POSITION_RIGHT, null, false);
|
||||
|
||||
$title1 = new Title('Test Pie Chart');
|
||||
|
||||
// Create the chart
|
||||
$chart1 = new Chart(
|
||||
'chart1', // name
|
||||
$title1, // title
|
||||
$legend1, // legend
|
||||
$plotArea1, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
null // yAxisLabel - Pie charts don't have a Y-Axis
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart1->setTopLeftPosition('A7');
|
||||
$chart1->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart1);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues2 = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series2 = new DataSeries(
|
||||
DataSeries::TYPE_DONUTCHART, // plotType
|
||||
null, // plotGrouping (Donut charts don't have any grouping)
|
||||
range(0, count($dataSeriesValues2) - 1), // plotOrder
|
||||
$dataSeriesLabels2, // plotLabel
|
||||
$xAxisTickValues2, // plotCategory
|
||||
$dataSeriesValues2 // plotValues
|
||||
);
|
||||
|
||||
// Set up a layout object for the Pie chart
|
||||
$layout2 = new Layout();
|
||||
$layout2->setShowVal(true);
|
||||
$layout2->setShowCatName(true);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea2 = new PlotArea($layout2, [$series2]);
|
||||
|
||||
$title2 = new Title('Test Donut Chart');
|
||||
|
||||
// Create the chart
|
||||
$chart2 = new Chart(
|
||||
'chart2', // name
|
||||
$title2, // title
|
||||
null, // legend
|
||||
$plotArea2, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
null // yAxisLabel - Like Pie charts, Donut charts don't have a Y-Axis
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart2->setTopLeftPosition('I7');
|
||||
$chart2->setBottomRightPosition('P20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart2);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
117
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_radar.php
vendored
Normal file
117
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_radar.php
vendored
Normal file
@ -0,0 +1,117 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Layout;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Jan', 47, 45, 71],
|
||||
['Feb', 56, 73, 86],
|
||||
['Mar', 52, 61, 69],
|
||||
['Apr', 40, 52, 60],
|
||||
['May', 42, 55, 71],
|
||||
['Jun', 58, 63, 76],
|
||||
['Jul', 53, 61, 89],
|
||||
['Aug', 46, 69, 85],
|
||||
['Sep', 62, 75, 81],
|
||||
['Oct', 51, 70, 96],
|
||||
['Nov', 55, 66, 89],
|
||||
['Dec', 68, 62, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$13', null, 12), // Jan to Dec
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$13', null, 12), // Jan to Dec
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$13', null, 12),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$13', null, 12),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_RADARCHART, // plotType
|
||||
null, // plotGrouping (Radar charts don't have any grouping)
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues, // plotValues
|
||||
null, // plotDirection
|
||||
null, // smooth line
|
||||
DataSeries::STYLE_MARKER // plotStyle
|
||||
);
|
||||
|
||||
// Set up a layout object for the Pie chart
|
||||
$layout = new Layout();
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea($layout, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_RIGHT, null, false);
|
||||
|
||||
$title = new Title('Test Radar Chart');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
null // yAxisLabel - Radar charts don't have a Y-Axis
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('F2');
|
||||
$chart->setBottomRightPosition('M15');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
101
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_scatter.php
vendored
Normal file
101
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_scatter.php
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['', 2010, 2011, 2012],
|
||||
['Q1', 12, 15, 21],
|
||||
['Q2', 56, 73, 86],
|
||||
['Q3', 52, 61, 69],
|
||||
['Q4', 30, 32, 0],
|
||||
]
|
||||
);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), // 2010
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), // 2011
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), // 2012
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$5', null, 4), // Q1 to Q4
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$5', null, 4),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$5', null, 4),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_SCATTERCHART, // plotType
|
||||
null, // plotGrouping (Scatter charts don't have any grouping)
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues, // plotValues
|
||||
null, // plotDirection
|
||||
null, // smooth line
|
||||
DataSeries::STYLE_LINEMARKER // plotStyle
|
||||
);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_TOPRIGHT, null, false);
|
||||
|
||||
$title = new Title('Test Scatter Chart');
|
||||
$yAxisLabel = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'chart1', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
null, // xAxisLabel
|
||||
$yAxisLabel // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('A7');
|
||||
$chart->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
113
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_stock.php
vendored
Normal file
113
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/33_Chart_create_stock.php
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeries;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Legend;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\PlotArea;
|
||||
use PhpOffice\PhpSpreadsheet\Chart\Title;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
['Counts', 'Max', 'Min', 'Min Threshold', 'Max Threshold'],
|
||||
[10, 10, 5, 0, 50],
|
||||
[30, 20, 10, 0, 50],
|
||||
[20, 30, 15, 0, 50],
|
||||
[40, 10, 0, 0, 50],
|
||||
[100, 40, 5, 0, 50],
|
||||
],
|
||||
null,
|
||||
'A1',
|
||||
true
|
||||
);
|
||||
$worksheet->getStyle('B2:E6')->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_NUMBER_00);
|
||||
|
||||
// Set the Labels for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesLabels = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$B$1', null, 1), //Max / Open
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$C$1', null, 1), //Min / Close
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$D$1', null, 1), //Min Threshold / Min
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$E$1', null, 1), //Max Threshold / Max
|
||||
];
|
||||
// Set the X-Axis Labels
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$xAxisTickValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, 'Worksheet!$A$2:$A$6', null, 5), // Counts
|
||||
];
|
||||
// Set the Data values for each data series we want to plot
|
||||
// Datatype
|
||||
// Cell reference for data
|
||||
// Format Code
|
||||
// Number of datapoints in series
|
||||
// Data values
|
||||
// Data Marker
|
||||
$dataSeriesValues = [
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$B$2:$B$6', null, 5),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$C$2:$C$6', null, 5),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$D$2:$D$6', null, 5),
|
||||
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, 'Worksheet!$E$2:$E$6', null, 5),
|
||||
];
|
||||
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_STOCKCHART, // plotType
|
||||
null, // plotGrouping - if we set this to not null, then xlsx throws error
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
$dataSeriesValues // plotValues
|
||||
);
|
||||
|
||||
// Set the series in the plot area
|
||||
$plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new Legend(Legend::POSITION_RIGHT, null, false);
|
||||
|
||||
$title = new Title('Test Stock Chart');
|
||||
$xAxisLabel = new Title('Counts');
|
||||
$yAxisLabel = new Title('Values');
|
||||
|
||||
// Create the chart
|
||||
$chart = new Chart(
|
||||
'stock-chart', // name
|
||||
$title, // title
|
||||
$legend, // legend
|
||||
$plotArea, // plotArea
|
||||
true, // plotVisibleOnly
|
||||
0, // displayBlanksAs
|
||||
$xAxisLabel, // xAxisLabel
|
||||
$yAxisLabel // yAxisLabel
|
||||
);
|
||||
|
||||
// Set the position where the chart should appear in the worksheet
|
||||
$chart->setTopLeftPosition('A7');
|
||||
$chart->setBottomRightPosition('H20');
|
||||
|
||||
// Add the chart to the worksheet
|
||||
$worksheet->addChart($chart);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
38
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/34_Chart_update.php
vendored
Normal file
38
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/34_Chart_update.php
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create temporary file that will be read
|
||||
$sampleSpreadsheet = require __DIR__ . '/../templates/chartSpreadsheet.php';
|
||||
$filename = $helper->getTemporaryFilename();
|
||||
$writer = new Xlsx($sampleSpreadsheet);
|
||||
$writer->save($filename);
|
||||
|
||||
$helper->log('Load from Xlsx file');
|
||||
$reader = IOFactory::createReader('Xlsx');
|
||||
$reader->setIncludeCharts(true);
|
||||
$spreadsheet = $reader->load($filename);
|
||||
|
||||
$helper->log('Update cell data values that are displayed in the chart');
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$worksheet->fromArray(
|
||||
[
|
||||
[50 - 12, 50 - 15, 50 - 21],
|
||||
[50 - 56, 50 - 73, 50 - 86],
|
||||
[50 - 52, 50 - 61, 50 - 69],
|
||||
[50 - 30, 50 - 32, 50],
|
||||
],
|
||||
null,
|
||||
'B2'
|
||||
);
|
||||
|
||||
// Save Excel 2007 file
|
||||
$filename = $helper->getFilename(__FILE__);
|
||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->setIncludeCharts(true);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
75
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/35_Chart_render.php
vendored
Normal file
75
inc/vendor/phpoffice/phpspreadsheet/samples/Chart/35_Chart_render.php
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Settings;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Change these values to select the Rendering library that you wish to use
|
||||
Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class);
|
||||
|
||||
$inputFileType = 'Xlsx';
|
||||
$inputFileNames = __DIR__ . '/../templates/32readwrite*[0-9].xlsx';
|
||||
|
||||
if ((isset($argc)) && ($argc > 1)) {
|
||||
$inputFileNames = [];
|
||||
for ($i = 1; $i < $argc; ++$i) {
|
||||
$inputFileNames[] = __DIR__ . '/../templates/' . $argv[$i];
|
||||
}
|
||||
} else {
|
||||
$inputFileNames = glob($inputFileNames);
|
||||
}
|
||||
foreach ($inputFileNames as $inputFileName) {
|
||||
$inputFileNameShort = basename($inputFileName);
|
||||
|
||||
if (!file_exists($inputFileName)) {
|
||||
$helper->log('File ' . $inputFileNameShort . ' does not exist');
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
$helper->log("Load Test from $inputFileType file " . $inputFileNameShort);
|
||||
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$reader->setIncludeCharts(true);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$helper->log('Iterate worksheets looking at the charts');
|
||||
foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
|
||||
$sheetName = $worksheet->getTitle();
|
||||
$helper->log('Worksheet: ' . $sheetName);
|
||||
|
||||
$chartNames = $worksheet->getChartNames();
|
||||
if (empty($chartNames)) {
|
||||
$helper->log(' There are no charts in this worksheet');
|
||||
} else {
|
||||
natsort($chartNames);
|
||||
foreach ($chartNames as $i => $chartName) {
|
||||
$chart = $worksheet->getChartByName($chartName);
|
||||
if ($chart->getTitle() !== null) {
|
||||
$caption = '"' . implode(' ', $chart->getTitle()->getCaption()) . '"';
|
||||
} else {
|
||||
$caption = 'Untitled';
|
||||
}
|
||||
$helper->log(' ' . $chartName . ' - ' . $caption);
|
||||
|
||||
$jpegFile = $helper->getFilename('35-' . $inputFileNameShort, 'png');
|
||||
if (file_exists($jpegFile)) {
|
||||
unlink($jpegFile);
|
||||
}
|
||||
|
||||
try {
|
||||
$chart->render($jpegFile);
|
||||
$helper->log('Rendered image: ' . $jpegFile);
|
||||
} catch (Exception $e) {
|
||||
$helper->log('Error rendering chart: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
unset($spreadsheet);
|
||||
}
|
||||
|
||||
$helper->log('Done rendering charts as images');
|
64
inc/vendor/phpoffice/phpspreadsheet/samples/Header.php
vendored
Normal file
64
inc/vendor/phpoffice/phpspreadsheet/samples/Header.php
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* Header file.
|
||||
*/
|
||||
use PhpOffice\PhpSpreadsheet\Helper\Sample;
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
require_once __DIR__ . '/../src/Bootstrap.php';
|
||||
|
||||
$helper = new Sample();
|
||||
|
||||
// Return to the caller script when runs by CLI
|
||||
if ($helper->isCli()) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo $helper->getPageTitle(); ?></title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" href="/bootstrap/css/font-awesome.min.css"/>
|
||||
<link rel="stylesheet" href="/bootstrap/css/phpspreadsheet.css"/>
|
||||
<script src="/bootstrap/js/jquery.min.js"></script>
|
||||
<script src="/bootstrap/js/bootstrap.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="navbar navbar-default" role="navigation">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="/">PHPSpreadsheet</a>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav"><?php
|
||||
foreach ($helper->getSamples() as $category => $files) {
|
||||
?><li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category ?><strong class="caret"></strong></a>
|
||||
<ul class="dropdown-menu"><?php
|
||||
foreach ($files as $name => $file) {
|
||||
echo '<li><a href="/' . $file . '">' . $name . '</a></li>';
|
||||
} ?></ul>
|
||||
</li>
|
||||
<?php
|
||||
} ?>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="https://github.com/PHPOffice/PHPSpreadsheet"><i class="fa fa-github fa-lg" title="GitHub"></i> </a></li>
|
||||
<li><a href="https://phpspreadsheet.readthedocs.io"><i class="fa fa-book fa-lg" title="Docs"></i> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
echo $helper->getPageHeading();
|
20
inc/vendor/phpoffice/phpspreadsheet/samples/Pdf/21_Pdf_Domdf.php
vendored
Normal file
20
inc/vendor/phpoffice/phpspreadsheet/samples/Pdf/21_Pdf_Domdf.php
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
$helper->log('Hide grid lines');
|
||||
$spreadsheet->getActiveSheet()->setShowGridLines(false);
|
||||
|
||||
$helper->log('Set orientation to landscape');
|
||||
$spreadsheet->getActiveSheet()->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
|
||||
|
||||
$className = \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf::class;
|
||||
$helper->log("Write to PDF format using {$className}");
|
||||
IOFactory::registerWriter('Pdf', $className);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__, ['Pdf']);
|
20
inc/vendor/phpoffice/phpspreadsheet/samples/Pdf/21_Pdf_TCPDF.php
vendored
Normal file
20
inc/vendor/phpoffice/phpspreadsheet/samples/Pdf/21_Pdf_TCPDF.php
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
$helper->log('Hide grid lines');
|
||||
$spreadsheet->getActiveSheet()->setShowGridLines(false);
|
||||
|
||||
$helper->log('Set orientation to landscape');
|
||||
$spreadsheet->getActiveSheet()->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
|
||||
|
||||
$className = \PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf::class;
|
||||
$helper->log("Write to PDF format using {$className}");
|
||||
IOFactory::registerWriter('Pdf', $className);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__, ['Pdf']);
|
20
inc/vendor/phpoffice/phpspreadsheet/samples/Pdf/21_Pdf_mPDF.php
vendored
Normal file
20
inc/vendor/phpoffice/phpspreadsheet/samples/Pdf/21_Pdf_mPDF.php
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$spreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
|
||||
$helper->log('Hide grid lines');
|
||||
$spreadsheet->getActiveSheet()->setShowGridLines(false);
|
||||
|
||||
$helper->log('Set orientation to landscape');
|
||||
$spreadsheet->getActiveSheet()->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
|
||||
|
||||
$className = \PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf::class;
|
||||
$helper->log("Write to PDF format using {$className}");
|
||||
IOFactory::registerWriter('Pdf', $className);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__, ['Pdf']);
|
11
inc/vendor/phpoffice/phpspreadsheet/samples/Reader/01_Simple_file_reader_using_IOFactory.php
vendored
Normal file
11
inc/vendor/phpoffice/phpspreadsheet/samples/Reader/01_Simple_file_reader_using_IOFactory.php
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$inputFileName = __DIR__ . '/sampleData/example1.xls';
|
||||
$helper->log('Loading file ' . pathinfo($inputFileName, PATHINFO_BASENAME) . ' using IOFactory to identify the format');
|
||||
$spreadsheet = IOFactory::load($inputFileName);
|
||||
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
|
||||
var_dump($sheetData);
|
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Reader\Xls;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
$inputFileName = __DIR__ . '/sampleData/example1.xls';
|
||||
|
||||
$helper->log('Loading file ' . pathinfo($inputFileName, PATHINFO_BASENAME) . ' using ' . Xls::class);
|
||||
$reader = new Xls();
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
|
||||
var_dump($sheetData);
|
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$inputFileType = 'Xls';
|
||||
$inputFileName = __DIR__ . '/sampleData/example1.xls';
|
||||
|
||||
$helper->log('Loading file ' . pathinfo($inputFileName, PATHINFO_BASENAME) . ' using IOFactory with a defined reader type of ' . $inputFileType);
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
|
||||
var_dump($sheetData);
|
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$inputFileName = __DIR__ . '/sampleData/example1.xls';
|
||||
|
||||
$inputFileType = IOFactory::identify($inputFileName);
|
||||
$helper->log('File ' . pathinfo($inputFileName, PATHINFO_BASENAME) . ' has been identified as an ' . $inputFileType . ' file');
|
||||
|
||||
$helper->log('Loading file ' . pathinfo($inputFileName, PATHINFO_BASENAME) . ' using IOFactory with the identified reader type');
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
|
||||
var_dump($sheetData);
|
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$inputFileType = 'Xls';
|
||||
$inputFileName = __DIR__ . '/sampleData/example1.xls';
|
||||
|
||||
$helper->log('Loading file ' . pathinfo($inputFileName, PATHINFO_BASENAME) . ' using IOFactory with a defined reader type of ' . $inputFileType);
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$helper->log('Turning Formatting off for Load');
|
||||
$reader->setReadDataOnly(true);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
|
||||
var_dump($sheetData);
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user