提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
关于设置页面的样式,调整页面风格。
提示:以下是本篇文章正文内容,下面案例可供参考
一、设置电子表格的元数据和活动工作表
设置元数据
PhpSpreadsheet 允许一种简单的方法来设置电子表格的元数据,使用 文档属性访问器。电子表格元数据可用于 在文件存储库或文档中查找特定文档 管理体系。例如,Microsoft Sharepoint 使用文档 元数据以在其文档列表中搜索特定文档。
$spreadsheet->getProperties()
->setCreator("Maarten Balliauw")
->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");
$spreadsheet->getProperties()
->setCustomProperty('Editor', 'Mark Baker')
->setCustomProperty('Version', 1.17)
->setCustomProperty('Tested', true)
->setCustomProperty('Test Date', '2021-03-17', Properties::PROPERTY_TYPE_DATE);
设置活动工作表
电子表格由(很少)任何工作表组成,一个或多个工作表。如果您有 1 个或多个工作表,则这些工作表中的一个(并且只有一个)一次可以处于“活动”状态(查看或更新),但始终存在“活动”工作表(除非您明确删除电子表格中的所有工作表)。
通过名字设置“活动”工作表
$activeWorksheet = $spreadsheet->setActiveSheetIndexByName('Sheet1')
通过索引号设置“活动”工作表
$activeWorksheet = $spreadsheet->setActiveSheetIndex(0);
创建新的sheet和获取“活动”sheet
// Create a Spreadsheet, with Worksheet Sheet1, which is the Active Worksheet
$spreadsheet = new Spreadsheet();
// Assign the Active Worksheet (Sheet1) to $worksheet1
$worksheet1 = $spreadsheet->getActiveSheet();
// Create a new Worksheet (Sheet2) and make that the Active Worksheet
$worksheet2 = $spreadsheet->createSheet();
$worksheet1->setCellValue('A1', 'I am a cell on Sheet1');
$worksheet2->setCellValue('A1', 'I am a cell on Sheet2');
二、将日期和时间写入单元格
以下有三种方式:
MySQL-like timestamp ‘2008-12-31’ or date string
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$spreadsheet->getActiveSheet()
->setCellValue('D1', '2008-12-31');
$spreadsheet->getActiveSheet()->getStyle('D1')
->getNumberFormat()
->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);
PHP-time (Unix time)
$time = gmmktime(0,0,0,12,31,2008); // int(1230681600)
$spreadsheet->getActiveSheet()
->setCellValue('D1', \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel($time));
$spreadsheet->getActiveSheet