mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-10-09 05:16:18 +00:00
Reorganize Samples
The samples have become unwieldy when running them from a browser. In particular, the drop-down lists are fixed size with no scrolling, and many of them are now just too large. I have moved all the Calculation samples up a level, and broken several categories (Basic, Chart, DateTime, Engineering, Financial, and Reader) into several pieces. Convert-Online (now found in the Engineering category) had a number of different problems which are now resolved. It is the only member with any significant code change.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$filename = __DIR__ . '/../templates/excel2003.xml';
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = IOFactory::load($filename);
|
||||
$helper->logRead('Xml', $filename, $callStartTime);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __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__);
|
||||
@@ -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__);
|
||||
@@ -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__);
|
||||
@@ -0,0 +1,23 @@
|
||||
<?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);
|
||||
unlink($filename);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __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__);
|
||||
@@ -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__);
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Reader\IReadFilter;
|
||||
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
|
||||
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(string $columnAddress, int $row, string $worksheetName = ''): bool
|
||||
{
|
||||
// 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 = new XlsxReader();
|
||||
$reader->setReadFilter(new MyReadFilter());
|
||||
$callStartTime = microtime(true);
|
||||
$spreadsheet = $reader->load($filename);
|
||||
unlink($filename);
|
||||
$helper->logRead('Xlsx', $filename, $callStartTime);
|
||||
$helper->log('Remove unnecessary rows');
|
||||
$spreadsheet->getActiveSheet()->removeRow(2, 18);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
||||
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\BaseWriter;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Create new Spreadsheet object
|
||||
$helper->log('Create new Spreadsheet object');
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$sheet1 = $spreadsheet->getActiveSheet();
|
||||
$sheet1->setTitle('SheetWithData');
|
||||
$sheet1->getCell('G1')->setValue('X');
|
||||
$sheet1->getCell('E5')->setValue('Y');
|
||||
$sheet1->getCell('A8')->setValue('Z');
|
||||
|
||||
// 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);
|
||||
if (!$gdImage) {
|
||||
throw new Exception('Cannot Initialize new GD image stream');
|
||||
}
|
||||
|
||||
$textColor = imagecolorallocate($gdImage, 255, 255, 255);
|
||||
if ($textColor === false) {
|
||||
throw new Exception('imagecolorallocate failed');
|
||||
}
|
||||
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($sheet1);
|
||||
$drawing->setCoordinates('C5');
|
||||
|
||||
$helper->log('Create new sheet');
|
||||
$sheet2 = $spreadsheet->createSheet();
|
||||
$sheet2->setTitle('SheetWithoutData');
|
||||
|
||||
// Add a drawing to the new worksheet
|
||||
$helper->log('Add a drawing to the new 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($sheet2);
|
||||
$drawing->setCoordinates('C5');
|
||||
|
||||
// Save
|
||||
$helper->write(
|
||||
$spreadsheet,
|
||||
__FILE__,
|
||||
['Xlsx', 'Html'],
|
||||
false,
|
||||
function (BaseWriter $writer): void {
|
||||
if (method_exists($writer, 'writeAllSheets')) {
|
||||
$writer->writeAllSheets();
|
||||
}
|
||||
}
|
||||
);
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Csv;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
|
||||
|
||||
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');
|
||||
$spreadsheet->getActiveSheet()->setPrintGridlines(true);
|
||||
|
||||
// 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 (mpdf)
|
||||
$mpdfCjkWriter = function (Mpdf $writer): void {
|
||||
$mpdfCjk = function (string $html): string {
|
||||
$html = str_replace("'Calibri'", "'Calibri',Sun-ExtA", $html);
|
||||
|
||||
return str_replace("'Times New Roman'", "'Times New Roman',Sun-ExtA", $html);
|
||||
};
|
||||
|
||||
$writer->setEditHtmlCallback($mpdfCjk);
|
||||
};
|
||||
|
||||
$helper->log('Write to Mpdf');
|
||||
IOFactory::registerWriter('Pdf', Mpdf::class);
|
||||
$filename = __FILE__;
|
||||
$helper->write($spreadsheet, $filename, ['Pdf'], false, $mpdfCjkWriter);
|
||||
|
||||
// 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');
|
||||
/** @var Csv $writer */
|
||||
$helper->write($spreadsheet, __FILE__, ['Csv']);
|
||||
|
||||
// Export to CSV with BOM (.csv)
|
||||
$filename = str_replace('.php', '-bom.php', __FILE__);
|
||||
$helper->log('Write to CSV format (with BOM)');
|
||||
$helper->write(
|
||||
$spreadsheet,
|
||||
$filename,
|
||||
['Csv'],
|
||||
false,
|
||||
function (Csv $writer): void {
|
||||
$writer->setUseBOM(true);
|
||||
}
|
||||
);
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
|
||||
use PhpOffice\PhpSpreadsheet\Shared\File;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Read from Xls (.xls) template
|
||||
$helper->log('Load Xlsx template file');
|
||||
$reader = IOFactory::createReader('Xls');
|
||||
$initialSpreadsheet = $reader->load(__DIR__ . '/../templates/27template.xls');
|
||||
|
||||
$xlsxFile = File::temporaryFilename();
|
||||
$writer = new XlsxWriter($initialSpreadsheet);
|
||||
$helper->log('Save as Xlsx');
|
||||
$writer->save($xlsxFile);
|
||||
$initialSpreadsheet->disconnectWorksheets();
|
||||
$reader2 = new XlsxReader();
|
||||
$helper->log('Load Xlsx');
|
||||
$spreadsheet = $reader2->load($xlsxFile);
|
||||
|
||||
$helper->log('Hide grid lines');
|
||||
$spreadsheet->getActiveSheet()->setShowGridLines(false);
|
||||
|
||||
$helper->log('Set orientation to landscape');
|
||||
$spreadsheet->getActiveSheet()->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
|
||||
|
||||
$className = Mpdf::class;
|
||||
$helper->log("Write to PDF format using {$className}, and to Html");
|
||||
IOFactory::registerWriter('Pdf', $className);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__, ['Pdf', 'Html']);
|
||||
unlink($xlsxFile);
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Read from Xls (.xls) template
|
||||
$helper->log('Load Xls template file');
|
||||
$reader = IOFactory::createReader('Xls');
|
||||
$spreadsheet = $reader->load(__DIR__ . '/../templates/27template.xls');
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
// Read from Xlsx (.xls) template
|
||||
$helper->log('Load Xlsx template file');
|
||||
$reader = IOFactory::createReader('Xlsx');
|
||||
// Note that Xlsx converts bmp to png, so it needs to be added
|
||||
// programmatically rather than in template.
|
||||
// Also note Xls converts both bmp and gif to png.
|
||||
$spreadsheet = $reader->load(__DIR__ . '/../templates/27template.xlsx');
|
||||
$sheet = $spreadsheet->getActiveSheet();
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Test BMP');
|
||||
$drawing->setPath(__DIR__ . '/../images/bmp.bmp');
|
||||
$drawing->setCoordinates('G17');
|
||||
$drawing->setWorksheet($sheet);
|
||||
|
||||
$sheet->getCell('G16')->setValue('BMP');
|
||||
$sheet->getStyle('G16')->getFont()->setName('Arial Black')->setBold(true);
|
||||
|
||||
// Save
|
||||
$helper->write($spreadsheet, __FILE__);
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;
|
||||
|
||||
require __DIR__ . '/../Header.php';
|
||||
|
||||
$sampleSpreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
|
||||
$filename = $helper->getTemporaryFilename();
|
||||
$writer = new XlsxWriter($sampleSpreadsheet);
|
||||
$callStartTime = microtime(true);
|
||||
$writer->save($filename);
|
||||
$helper->logWrite($writer, $filename, $callStartTime);
|
||||
|
||||
$callStartTime = microtime(true);
|
||||
$reader = new XlsxReader();
|
||||
$spreadsheet = $reader->load($filename);
|
||||
$helper->logRead('Xlsx', $filename, $callStartTime);
|
||||
unlink($filename);
|
||||
$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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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__);
|
||||
Reference in New Issue
Block a user