diff --git a/pyxlsb/workbook.py b/pyxlsb/workbook.py index 5879d79..73ec94c 100644 --- a/pyxlsb/workbook.py +++ b/pyxlsb/workbook.py @@ -42,7 +42,9 @@ def _parse(self): reader = BIFF12Reader(fp=temp, debug=self._debug) for item in reader: if item[0] == biff12.SHEET: - self._sheets.append((item[1].name, rels[item[1].rId])) + name = item[1].name + if rId := item[1].rId: + self._sheets.append((name, rels[rId])) elif item[0] == biff12.SHEETS_END: break @@ -68,13 +70,13 @@ def get_sheet(self, idx, rels=False): target = self._sheets[idx - 1][1].split('/') temp = TemporaryFile() - with self._zf.open('xl/{}/{}'.format(target[0], target[-1]), 'r') as zf: + with self._zf.open(f'xl/{target[0]}/{target[-1]}', 'r') as zf: temp.write(zf.read()) temp.seek(0, os.SEEK_SET) if rels: rels_temp = TemporaryFile() - with self._zf.open('xl/{}/_rels/{}.rels'.format(target[0], target[-1]), 'r') as zf: + with self._zf.open(f'xl/{target[0]}/_rels/{target[-1]}.rels', 'r') as zf: rels_temp.write(zf.read()) rels_temp.seek(0, os.SEEK_SET) else: