Completed
Push — master ( dfd9c5...ccebf0 )
by Mark
161:27 queued 155:49
created

samples/Basic/31_Document_properties_write.php (1 issue)

Labels
Severity
1
<?php
2
3
use PhpOffice\PhpSpreadsheet\Document\Properties;
4
use PhpOffice\PhpSpreadsheet\IOFactory;
5
6
require __DIR__ . '/../Header.php';
7
8
$inputFileType = 'Xlsx';
9
$inputFileName = __DIR__ . '/../templates/31docproperties.xlsx';
10
11
$spreadsheetReader = IOFactory::createReader($inputFileType);
12
$callStartTime = microtime(true);
13
$spreadsheet = $spreadsheetReader->load($inputFileName);
14
$helper->logRead($inputFileType, $inputFileName, $callStartTime);
15
16
$helper->log('Adjust properties');
17
$spreadsheet->getProperties()->setTitle('Office 2007 XLSX Test Document')
18
    ->setSubject('Office 2007 XLSX Test Document')
19
    ->setDescription('Test XLSX document, generated using PhpSpreadsheet')
20
    ->setKeywords('office 2007 openxml php');
21
22
// Save Excel 2007 file
23
$filename = $helper->getFilename(__FILE__);
24
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
25
$callStartTime = microtime(true);
26
$writer->save($filename);
27
$helper->logWrite($writer, $filename, $callStartTime);
28
29
$helper->logEndingNotes();
30
31
// Reread File
32
$helper->log('Reread Xlsx file');
33
$spreadsheetRead = IOFactory::load($filename);
34
35
// Set properties
36
$helper->log('Get properties');
37
38
$helper->log('Core Properties:');
39
$helper->log('    Created by - ' . $spreadsheet->getProperties()->getCreator());
40
$helper->log('    Created on - ' . date('d-M-Y' . $spreadsheet->getProperties()->getCreated()) . ' at ' . date('H:i:s' . $spreadsheet->getProperties()->getCreated()));
41
$helper->log('    Last Modified by - ' . $spreadsheet->getProperties()->getLastModifiedBy());
42
$helper->log('    Last Modified on - ' . date('d-M-Y' . $spreadsheet->getProperties()->getModified()) . ' at ' . date('H:i:s' . $spreadsheet->getProperties()->getModified()));
43
$helper->log('    Title - ' . $spreadsheet->getProperties()->getTitle());
44
$helper->log('    Subject - ' . $spreadsheet->getProperties()->getSubject());
45
$helper->log('    Description - ' . $spreadsheet->getProperties()->getDescription());
46
$helper->log('    Keywords: - ' . $spreadsheet->getProperties()->getKeywords());
47
48
$helper->log('Extended (Application) Properties:');
49
$helper->log('    Category - ' . $spreadsheet->getProperties()->getCategory());
50
$helper->log('    Company - ' . $spreadsheet->getProperties()->getCompany());
51
$helper->log('    Manager - ' . $spreadsheet->getProperties()->getManager());
52
53
$helper->log('Custom Properties:');
54
$customProperties = $spreadsheet->getProperties()->getCustomProperties();
55
foreach ($customProperties as $customProperty) {
56
    $propertyValue = $spreadsheet->getProperties()->getCustomPropertyValue($customProperty);
57
    $propertyType = $spreadsheet->getProperties()->getCustomPropertyType($customProperty);
58
    if ($propertyType == Properties::PROPERTY_TYPE_DATE) {
59
        $formattedValue = date('d-M-Y H:i:s', $propertyValue);
0 ignored issues
show
$propertyValue of type string is incompatible with the type integer expected by parameter $timestamp of date(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

59
        $formattedValue = date('d-M-Y H:i:s', /** @scrutinizer ignore-type */ $propertyValue);
Loading history...
60
    } elseif ($propertyType == Properties::PROPERTY_TYPE_BOOLEAN) {
61
        $formattedValue = $propertyValue ? 'TRUE' : 'FALSE';
62
    } else {
63
        $formattedValue = $propertyValue;
64
    }
65
    $helper->log('    ' . $customProperty . ' - (' . $propertyType . ') - ' . $formattedValue);
66
}
67
68
$helper->logEndingNotes();
69