创建电子表格
Spreadsheet
类
Spreadsheet
类是 PhpSpreadsheet 的核心。它包含了包含的工作表、文档安全设置和文档元数据的引用。
为了简化 PhpSpreadsheet 的概念:Spreadsheet
类代表您的工作簿。
通常,您将以两种方式之一创建工作簿,要么从电子表格文件中加载它,要么手动创建它。第三种选择虽然不常用,但可以克隆使用前两种方法创建的现有工作簿。
从文件加载工作簿
有关支持的不同电子表格格式以及将它们读入 Spreadsheet 对象的选项的详细信息,请参阅 Reading Files 文档。
$inputFileName = './sampleData/example1.xls';
/** 将 $inputFileName 加载到 Spreadsheet 对象中 **/
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
创建新的工作簿
如果您想创建一个新的工作簿,而不是从文件加载一个,那么您只需将其实例化为一个新的 Spreadsheet 对象即可。
/** 创建一个新的 Spreadsheet 对象 **/
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
一个新的工作簿将始终具有一个工作表。
从内存中清除工作簿
PhpSpreadsheet 对象包含循环引用(例如,工作簿链接到工作表,而工作表链接到其父工作簿),这在 PHP 尝试在它们被 unset()
时从内存中清除对象时会导致问题。结果是“内存泄漏”,这可能会占用 PHP 有限内存的大量空间。
这只能通过手动解决:如果您需要取消设置工作簿,则还需要在此之前“打破”这些循环引用。PhpSpreadsheet 为此目的提供了 disconnectWorksheets()
方法。
$spreadsheet->disconnectWorksheets();
unset($spreadsheet);