File with external links corrupts
*Created originally on Bitbucket by [artifex_knowledge (Gericke Potgieter)](https://bitbucket.org/%7Bd7b6f286-8f35-4a9f-b623-59bb08696ca0%7D/)* I seemed to have chanced on a bug - if not please advise. **Environment**: Python 3.5.2 **Openpyxl version**: 2.4.0 *Replication Process*: Opening a file with one or more external link, then saving it. Code used for replication: ``` #!python def test_external_link_corruption(): file_path = 'has external links.xlsx' tfile = load_workbook(file_path) sh = tfile['Sheet1'] print('RANDOM BORDER 1') print(sh['f6'].border) print(sh['f6'].border.top) print(sh['f6'].border.left) print(sh['f6'].border.bottom.color) print(sh['f6'].border.right.color) print('RANDOM BORDER 2') print(sh['f40'].border) print(sh['f40'].border.top) print(sh['f40'].border.left) print(sh['f40'].border.bottom.color) print(sh['f40'].border.right.color) tfile.save(file_path) ``` *Replicated Symptom*: On opening the file in Excel, it requires repair, removing the external formula ![Excel Error.jpg](https://bitbucket.org/repo/RMdExx/images/2568576148-Excel%20Error.jpg) *Original Process:* Opening an excel file, running many functions, saving it, then reopening it for further processing. *Original Symptom*: The program generates the following error: ``` #!python Traceback (most recent call last): File "/home/gericke/PycharmProjects/xxxx/ss_integrity/test_base.py", line 1229, in test_all build_results(file_name, all_test_counts, test_results, get_stats, get_con, test_file_names) File "/home/gericke/PycharmProjects/xxxx/ss_integrity/report_results.py", line 471, in build_results results_overview(file_name, all_results, test_file_names[2]) File "/home/gericke/PycharmProjects/xxxx/ss_integrity/report_results.py", line 23, in results_overview full_workbook = load_workbook(file_name, read_only=False) File "/usr/local/lib/python3.5/dist-packages/openpyxl/reader/excel.py", line 161, in load_workbook parser.parse() File "/usr/local/lib/python3.5/dist-packages/openpyxl/packaging/workbook.py", line 56, in parse read_external_link(self.archive, rel.Target) File "/usr/local/lib/python3.5/dist-packages/openpyxl/workbook/external_link/external.py", line 189, in read_external_link deps = get_dependents(archive, link_path) File "/usr/local/lib/python3.5/dist-packages/openpyxl/packaging/relationship.py", line 128, in get_dependents src = archive.read(filename) File "/usr/lib/python3.5/zipfile.py", line 1232, in read with self.open(name, "r", pwd) as fp: File "/usr/lib/python3.5/zipfile.py", line 1255, in open zinfo = self.getinfo(name) File "/usr/lib/python3.5/zipfile.py", line 1199, in getinfo 'There is no item named %r in the archive' % name) KeyError: "There is no item named 'xl/worksheets/_rels/sheet1.xml.rels' in the archive" ``` Please find attached a sample file used for replicating the error. The 'has external links.xlsx" file is opened, then saved, which results in a broken file which I attach as "has external links - broken.xlsx." *Attachments:* [has_external_links.xlsx](/uploads/6522e54b80874b1659196c38b4176897/has_external_links.xlsx)[has_external_links_-_broken.xlsx](/uploads/61ac782758d896fb8607492e31097689/has_external_links_-_broken.xlsx)
issue