fix missing worksheet reference for ColumnDimension/RowDimension created in Worksheet.append
Created originally on Bitbucket by wolfmanx (Wolfgang Scherer)
Changesets for this Pull Request have not been imported, because it had been already declined on Bitbucket. Marked as closed by the import user.
Using column_dimensions/row_dimensions created by Worksheet.append fails:
#!python
from openpyxl import Workbook
from openpyxl.styles import Style
wb = Workbook()
ws = wb.active
ws.append([1, 2, 3])
col_dim = ws.column_dimensions['B']
try:
col_dim.style = Style(number_format='0.00')
except:
(t, e, tb) = sys.exc_info()
import traceback
print(''.join(traceback.format_tb(tb)).rstrip())
print('{0}: {1}'.format(t.__name__, e))
del(tb)
print('')
row_dim = ws.row_dimensions[1]
try:
row_dim.style = Style(number_format='0.00')
except:
(t, e, tb) = sys.exc_info()
import traceback
print(''.join(traceback.format_tb(tb)).rstrip())
print('{0}: {1}'.format(t.__name__, e))
del(tb)
result = """
File "./bug-column-dimensions.py", line 16, in <module>
col_dim.style = Style(number_format='0.00')
File "/home/ws/project/3rd-party/openpyxl/openpyxl/openpyxl/worksheet/dimensions.py", line 52, in style
self._style = self.worksheet.parent.shared_styles.add(style)
AttributeError: 'NoneType' object has no attribute 'parent'
File "./bug-column-dimensions.py", line 26, in <module>
row_dim.style = Style(number_format='0.00')
File "/home/ws/project/3rd-party/openpyxl/openpyxl/openpyxl/worksheet/dimensions.py", line 52, in style
self._style = self.worksheet.parent.shared_styles.add(style)
AttributeError: 'NoneType' object has no attribute 'parent'
"""