Excel: Edite o XML dentro de um arquivo XLSX


11

Um arquivo XLSX do Excel é um arquivo zip que contém vários arquivos XML. Tentei extrair todos os arquivos XML e editar xl\connections.xml usando um editor XML. Isso porque eu tenho que mudar mais de 20 conexões para apontar para um servidor diferente.

Quando abro o arquivo editado no Excel, ele recusa as alterações e repara o arquivo.

Existe uma maneira de editar os arquivos XML dentro de um arquivo XML?

Respostas:


10

Como você está indo para fazer a edição? Eu sugeriria não extrair completamente o arquivo, mas, em vez disso, basta abrir o arquivo no 7-zip. Em seguida, encontre o arquivo que deseja editar, escolha "editar", salve-o e o 7-zip deverá substituí-lo automaticamente no arquivo morto. No passado, quando fiz isso, o Excel o abriu sem nenhum problema, mas ao realmente extraí-lo e compactá-lo novamente, tive problemas.


3
O conteúdo do arquivo 'zip' do Excel não é realmente compactado (esvaziado), mas apenas armazenado.
whitequark

Ah, isso explicaria por que a recompressão como um zip usando o zíper interno do Windows causa problemas. Estou curioso agora se o uso do 7-zip e a especificação do nível de compactação como "loja" funcionariam então.
Nhinkle

11
@ whitequark: isso não está correto - o conteúdo está realmente vazio! O Excel também lê arquivos 'zip' onde o conteúdo é armazenado apenas, mas se você salvar o mesmo arquivo novamente no Excel, ele será compactado de qualquer maneira. @ nhinkle: zipar com 7-zip sempre funcionou para mim, independentemente de eu ter escolhido "store" ou "normal-deflate" como o nível de compressão.
Turismo

@Turismo: talvez eu tenha perdido com odf ou algo assim. A compactação desses XML é realmente uma boa ideia. O zíper do Windows provavelmente está com danos cerebrais.
whitequark

@whitequark Tentei comprimir com o zíper interno do Windows e o Excel pode abri-lo sem problemas. O erro mais comum é que as pessoas geralmente clicam com o botão direito na pasta e compactam, o que não é correto. Você deve selecionar todos os arquivos dentro da pasta e compressa, uma vez que o [Content_Types].xmldeve estar na raiz do arquivo OOXML
phuclv

2

Você definitivamente deve poder editar o XML no arquivo morto sem problemas. Já fiz isso várias vezes com o xl\comments1.xmlarquivo e o Excel o abriu sem problemas.

Eu usei 7-zip e Notepad ++. Talvez o seu editor altere a codificação do XML ou o zíper crie um arquivo que não seja exatamente compatível com o Excel.

Talvez exista uma dependência de outro arquivo no arquivo que também precise ser alterado.
Você pode tentar alterar a conexão no Excel e verificar quais arquivos no arquivo morto foram alterados após salvar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.