CCR/.venv/lib/python3.12/site-packages/pyxlsb/stringtable.py

32 lines
672 B
Python

from . import biff12
from .reader import BIFF12Reader
class StringTable(object):
def __init__(self, fp):
super(StringTable, self).__init__()
self._reader = BIFF12Reader(fp=fp)
self._strings = []
self._parse()
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
self.close()
def __getitem__(self, key):
return self._strings[key]
def _parse(self):
for item in self._reader:
if item[0] == biff12.SI:
self._strings.append(item[1].t)
elif item[0] == biff12.SST_END:
break
def get_string(self, idx):
return self._strings[idx]
def close(self):
self._reader.close()