def to_excel(self, filepath, data_sheet_name='__data__', overwrite=True):
            with open_excel(filepath, overwrite_file=overwrite) as wb:
                # from here on, we use pure win32com objects instead of
                # larray.excel or xlwings objects as this is faster
                xl_wb = wb.api

                # rename first sheet
                xl_wb.Worksheets(1).Name = data_sheet_name

                # dump items for each output sheet
                data_sheet_row = 1
                for sheet in self.sheets.values():
                    data_sheet_row = sheet._to_excel(xl_wb, data_sheet_row)
                wb.save()
                # reset
                self.sheets.clear()