创建电子表格

Spreadsheet

Spreadsheet 类是 PhpSpreadsheet 的核心。它包含了包含的工作表、文档安全设置和文档元数据的引用。

为了简化 PhpSpreadsheet 的概念:Spreadsheet 类代表您的工作簿。

通常,您将以两种方式之一创建工作簿,要么从电子表格文件中加载它,要么手动创建它。第三种选择虽然不常用,但可以克隆使用前两种方法创建的现有工作簿。

从文件加载工作簿

有关支持的不同电子表格格式以及将它们读入 Spreadsheet 对象的选项的详细信息,请参阅 Reading Files 文档。

  1. $inputFileName = './sampleData/example1.xls';
  2. /** 将 $inputFileName 加载到 Spreadsheet 对象中 **/
  3. $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);

创建新的工作簿

如果您想创建一个新的工作簿,而不是从文件加载一个,那么您只需将其实例化为一个新的 Spreadsheet 对象即可。

  1. /** 创建一个新的 Spreadsheet 对象 **/
  2. $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

一个新的工作簿将始终具有一个工作表。

从内存中清除工作簿

PhpSpreadsheet 对象包含循环引用(例如,工作簿链接到工作表,而工作表链接到其父工作簿),这在 PHP 尝试在它们被 unset() 时从内存中清除对象时会导致问题。结果是“内存泄漏”,这可能会占用 PHP 有限内存的大量空间。

这只能通过手动解决:如果您需要取消设置工作簿,则还需要在此之前“打破”这些循环引用。PhpSpreadsheet 为此目的提供了 disconnectWorksheets() 方法。

  1. $spreadsheet->disconnectWorksheets();
  2. unset($spreadsheet);