@@ -68,15 +68,19 @@ def __init__(
68
68
69
69
self .book = load_workbook (self .handles .handle , ** engine_kwargs )
70
70
self .handles .handle .seek (0 )
71
- self .sheets = {name : self .book [name ] for name in self .book .sheetnames }
72
-
73
71
else :
74
72
# Create workbook object with default optimized_write=True.
75
73
self .book = Workbook (** engine_kwargs )
76
74
77
75
if self .book .worksheets :
78
76
self .book .remove (self .book .worksheets [0 ])
79
77
78
+ @property
79
+ def sheets (self ) -> dict [str , Any ]:
80
+ """Mapping of sheet names to sheet objects."""
81
+ result = {name : self .book [name ] for name in self .book .sheetnames }
82
+ return result
83
+
80
84
def save (self ) -> None :
81
85
"""
82
86
Save workbook to disk.
@@ -440,7 +444,6 @@ def write_cells(
440
444
target_index = self .book .index (old_wks )
441
445
del self .book [sheet_name ]
442
446
wks = self .book .create_sheet (sheet_name , target_index )
443
- self .sheets [sheet_name ] = wks
444
447
elif self .if_sheet_exists == "error" :
445
448
raise ValueError (
446
449
f"Sheet '{ sheet_name } ' already exists and "
@@ -458,7 +461,6 @@ def write_cells(
458
461
else :
459
462
wks = self .book .create_sheet ()
460
463
wks .title = sheet_name
461
- self .sheets [sheet_name ] = wks
462
464
463
465
if validate_freeze_panes (freeze_panes ):
464
466
freeze_panes = cast (Tuple [int , int ], freeze_panes )
0 commit comments