code: private function calcSheetOffsets()
      {
          $boundsheet_length = 10; // fixed length for a BOUNDSHEET record
  
          // size of Workbook globals part 1 + 3
          $offset = $this->_datasize;
  
          // add size of Workbook globals part 2, the length of the SHEET records
          $total_worksheets = count($this->spreadsheet->getAllSheets());
          foreach ($this->spreadsheet->getWorksheetIterator() as $sheet) {
              $offset += $boundsheet_length + strlen(StringHelper::UTF8toBIFF8UnicodeShort($sheet->getTitle()));
          }
  
          // add the sizes of each of the Sheet substreams, respectively
          for ($i = 0; $i < $total_worksheets; ++$i) {
              $this->worksheetOffsets[$i] = $offset;
              $offset += $this->worksheetSizes[$i];
          }
          $this->biffSize = $offset;
      }
docs: Calculate offsets for Worksheet BOF records.