code: func (sf *StreamFile) NextSheet() error {
  	if sf.err != nil {
  		return sf.err
  	}
  	var sheetIndex int
  	if sf.currentSheet != nil {
  		if sf.currentSheet.index >= len(sf.xlsxFile.Sheets) {
  			sf.err = AlreadyOnLastSheetError
  			return AlreadyOnLastSheetError
  		}
  		if err := sf.writeSheetEnd(); err != nil {
  			sf.currentSheet = nil
  			sf.err = err
  			return err
  		}
  		sheetIndex = sf.currentSheet.index
  	}
  	sheetIndex++
  	sf.currentSheet = &streamSheet{
  		index:       sheetIndex,
  		columnCount: len(sf.xlsxFile.Sheets[sheetIndex-1].Cols),
  		styleIds:    sf.styleIds[sheetIndex-1],
  		rowCount:    1,
  	}
  	sheetPath := sheetFilePathPrefix + strconv.Itoa(sf.currentSheet.index) + sheetFilePathSuffix
  	fileWriter, err := sf.zipWriter.Create(sheetPath)
  	if err != nil {
  		sf.err = err
  		return err
  	}
  	sf.currentSheet.writer = fileWriter
  
  	if err := sf.writeSheetStart(); err != nil {
  		sf.err = err
  		return err
  	}
  	return nil
  }
docs: // NextSheet will switch to the next sheet. Sheets are selected in the same order they were added.
  // Once you leave a sheet, you cannot return to it.