diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7900814..4d66803 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,15 @@ Change log ================================================================================ +0.2.1 - unreleased +-------------------------------------------------------------------------------- + +Added +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +#. `skip_hidden_sheets` is added. By default, hidden sheets are skipped when reading all sheets. Reading sheet by name or by index are not affected. + + 0.2.0 - 01.06.2016 -------------------------------------------------------------------------------- diff --git a/pyexcel_xls/xls.py b/pyexcel_xls/xls.py index c9e64ba..388e6bc 100644 --- a/pyexcel_xls/xls.py +++ b/pyexcel_xls/xls.py @@ -125,13 +125,16 @@ class XLSBook(BookReader): def open(self, file_name, **keywords): BookReader.open(self, file_name, **keywords) - + self._get_params() + def open_stream(self, file_stream, **keywords): BookReader.open_stream(self, file_stream, **keywords) + self._get_params() def open_content(self, file_content, **keywords): self.keywords = keywords self.file_content = file_content + self._get_params() def close(self): if self.native_book: @@ -154,6 +157,8 @@ class XLSBook(BookReader): result = OrderedDict() self.native_book = self._get_book() for sheet in self.native_book.sheets(): + if self.skip_hidden_sheets and sheet.visibility != 0: + continue data_dict = self.read_sheet(sheet) result.update(data_dict) return result @@ -179,6 +184,9 @@ class XLSBook(BookReader): ) return xls_book + def _get_params(self): + self.skip_hidden_sheets = self.keywords.get('skip_hidden_sheets', True) + class XLSheetWriter(SheetWriter): """