local name not saved when other sheet is removed
Created originally on Bitbucket by Studentik (Roman Denisov)
After removing first sheet, local name on second sheet is no longer available in saved file and LibreOffice/Excel 2010 inform error opening file
import openpyxl, tempfile
wb = openpyxl.Workbook()
ws = wb.create_sheet()
ws.title = 'test_sheet'
ws_ix = wb.index(ws)
wb.create_named_range('test_name', ws, 'A1', wb.index(ws))
defined_name1 = wb.defined_names.get('test_name', ws_ix)
#### THIS LINE BREAKS ASSERTION##########
wb.remove(wb['Sheet'])
temp = tempfile.NamedTemporaryFile(suffix='.xlsx', delete=False)
wb.save(temp.name)
wb = openpyxl.load_workbook(temp.name)
ws = wb['test_sheet']
ws_ix = wb.index(ws)
defined_name2 = wb.defined_names.get('test_name', ws_ix)
assert defined_name1 == defined_name2
Attachments: tmpvcvxywz2.xlsx