Excel: редактировать XML внутри файла XLSX

11

Файл Excel XLSX - это zip-архив, содержащий несколько файлов XML. Я попытался извлечь все файлы XML и отредактировать их xl\connections.xml с помощью редактора XML. Это потому, что мне нужно изменить 20+ подключений, чтобы они указывали на другой сервер.

Когда я открываю отредактированный архив в Excel, он отклоняет изменения и восстанавливает файл.

Есть ли способ редактировать XML-файлы внутри XML-архива?

Andomar
источник

Ответы:

10

Как вы собираетесь делать редактирование? Я бы предложил не полностью распаковать файл, а просто открыть архив в 7-zip. Затем найдите файл, который вы хотите редактировать, выберите «редактировать», затем сохраните его, и 7-zip должен автоматически заменить его в архиве. В прошлом, когда я делал это, Excel без проблем открывал его, но при его извлечении и повторном сжатии у меня возникали проблемы.

nhinkle
источник
3
Содержимое zip-файла Excel на самом деле не сжато (выкачано), а просто хранится.
whitequark
Ах, это объясняет, почему повторное сжатие в виде почтового индекса с использованием встроенной молнии Windows вызывает проблемы. Мне любопытно, будет ли работать 7-zip и указывать уровень сжатия в качестве «хранилища».
nhinkle
1
@whitequark: это не правильно - содержание действительно спущено! Excel также читает zip-файлы, в которых хранится только содержимое, но если вы снова сохраните тот же файл в Excel, он все равно будет сжат. @nhinkle: архивирование с 7-zip всегда работало для меня независимо от того, выбрал ли я «store» или «normal-deflate» в качестве уровня сжатия.
Туризм
@Turismo: возможно я пропустил это с odf или таким. Сжатие этих XML действительно хорошая идея. Молния Windows, вероятно, повреждена мозгом.
whitequark
@whitequark Я пытался сжать с помощью встроенной молнии Windows, и Excel может открыть его без проблем. Самая распространенная ошибка заключается в том, что люди часто щелкают правой кнопкой мыши по папке и сжимают, что неправильно. Вы должны выбрать все файлы внутри папки и сжать их, так как они [Content_Types].xmlдолжны находиться в корне файла
ooxml
2

Вы определенно должны иметь возможность редактировать XML в архиве без проблем. Я сделал это несколько раз с xl\comments1.xmlфайлом, и Excel открыл его без проблем.

Я использовал 7-zip и Notepad ++. Возможно, ваш редактор изменяет кодировку XML или ваша застежка-молния создает файл, который не совсем совместим с Excel.

Возможно, существует зависимость от другого файла в архиве, который также необходимо изменить.
Вы можете попробовать изменить соединение в Excel и проверить, какие файлы в архиве изменились после сохранения.

Turismo
источник