docs: def open_spreadsheet(self, path, as_template=False, read_only=False):
          """
          Opens an exiting spreadsheet document on the local file system.
          """
          extra = ()
          if as_template:
              pv = uno.createUnoStruct('com.sun.star.beans.PropertyValue')
              pv.Name = 'AsTemplate'
              pv.Value = True
              extra += (pv,)
          if read_only:
              pv = uno.createUnoStruct('com.sun.star.beans.PropertyValue')
              pv.Name = 'ReadOnly'
              pv.Value = True
              extra += (pv,)
          # UNO requires absolute paths
          url = uno.systemPathToFileUrl(os.path.abspath(path))
          document = self._open_url(url, extra)
          return SpreadsheetDocument(document)