O que o Libre Office faz para uma planilha existente do Excel para aumentar seu tamanho?

4

Eu tento evitar o uso do Libre Office em pastas de trabalho existentes criadas no Excel devido ao potencial de resultados desagradáveis. Nesse caso, o Libre Office inchava o tamanho da pasta de trabalho por algum motivo desconhecido para mim. Gostaria de saber se o Libre Office faz isso em todas as pastas de trabalho do Excel ou apenas em uma pasta de trabalho que cause isso.

Software envolvido:

  • Microsoft Office Excel 2010
  • Libre Office 3.5.x (versão exata desconhecida)
  • Dropbox (apenas para sincronizar alterações)

Plataformas envolvidas:

  • Office no Windows (mestre do óbvio em um que eu suponho ..)
  • Libre o Office no Mac OS 10.6

Tipos de dados armazenados nesta pasta de trabalho:

  • Texto
  • Inteiros
  • 1 coluna com uma fórmula simples abrangendo toda a planilha representando essa linha específica (= CONCATENATE (A2285, B2285, D2285), = CONCATENATE (A2286, B2286, D2286), etc.)
  • Total de mais de 3.500 linhas

Aqui está uma foto com detalhes descritos, mas vou explicar a foto também:

  • Esta captura de tela é do histórico do Dropbox da pasta de trabalho .xlsx.
  • As versões 61 a 68 eram do Office Excel.
  • A versão 69 - 73 era o Libre Office.

    
por Sn3akyP3t3 16.10.2012 / 18:39

2 respostas

7

Agarre no Open XML SDK 2.0 e execute o "Open XML Productivity Ferramenta para o Microsoft Office ". Este é um ótimo aplicativo que permite realizar várias análises nos dados XML dentro de um .xlsx ou .docx, e deve facilitar a visualização de onde o inchaço está usando sua ferramenta de comparação para comparar o conteúdo de dois documentos em um XML nível.

Existem algumas possibilidades:

  • O LibreOffice pode estar inserindo dados adicionais (estilos de fonte / célula, informações de formatação, etc.) que o Office trata como "implícito" ou está contido em seu modelo "Normal".
  • O LibreOffice pode não estar compactando os dados. Caso você não saiba, o Office usa compactação sem perdas (semelhante a ZIP) para compactar todos os dados em seus formatos Open XML. Eu pensei que o LibreOffice deveria suportar isso, mas talvez haja um problema com a compressão na versão que a pessoa está rodando. Esta é a situação mais provável se você não observar diferenças significativas nos dados ao executar a ferramenta de comparação.
  • O LibreOffice pode estar analisando novamente os dados, criando sua própria estrutura interna e salvando os dados (usando uma rotina separada) de uma maneira que melhor se adapte à sua própria representação interna do documento, que pode ser menos eficiente do que a do Office. próprio. Isso, se for verdade, seria mais um problema de design e indicativo das diferenças fundamentais nos recursos e tecnologias usados na funcionalidade nativa do LibreOffice em relação ao Office.

Você pode facilmente excluir a segunda possibilidade (problemas de compactação) da seguinte forma:

  • Pegue a versão do Office ~ 220K, abra-a no LibreOffice, adicione um único caractere a uma única célula e salve-a.
  • Instale o 7-Zip se você ainda não o tiver feito.
  • Abra o .xlsx salvo pelo LibreOffice e o .xlsx salvo pelo Excel em 7-zip.
  • Navegue pela hierarquia de diretórios do arquivo e encontre um arquivo (não um diretório).
  • Compare o "Tamanho" e o "Tamanho empacotado". Se os tamanhos de salvamento do LibreOffice forem muito maiores, então o LibreOffice está inchando os dados em si. Se os tamanhos forem quase os mesmos, mas o Tamanho empacotado não for muito menor que o tamanho, a compactação não será usada ou a compactação incorreta. No meu PC, o Microsoft Excel 2010 compacta o arquivo _rels.rels de 588 bytes para 245 e o arquivo xl \ styles.xml de 3037 bytes para 878.

Você pode facilmente excluir o primeiro marcador da seguinte forma:

  • Pegue a versão do Office ~ 220K, abra-a no LibreOffice, adicione um único caractere a uma única célula e salve-a.
  • Execute a ferramenta de produtividade e compare o XML.
  • Se os documentos forem praticamente idênticos, exceto na área pequena e contida em que a alteração de caractere único foi feita, o primeiro problema (inserção de dados adicionais) provavelmente não se aplica.

Se você descartou o primeiro e o segundo problema, a única possibilidade que eu posso ver é o terceiro, que não é tão fácil de consertar e pode significar que o LibreOffice é "simplesmente ineficiente".

Para realmente resolver o problema, a primeira coisa que faço é testar uma versão muito mais recente do LibreOffice. Tente o beta / release candidate / o que estiver disponível. Experimente em diferentes plataformas, como no Windows ou no Linux. Veja se você consegue descobrir uma versão ou plataforma que produza resultados mais eficientes do que outros. Em geral, as versões mais recentes (mesmo as versões de pré-lançamento) têm maior probabilidade de conter uma resolução para o problema do que versões mais antigas.

    
por 16.10.2012 / 19:02
1

Eu não sei por que esse inchaço existe, mas vou dar uma explicação para você se certificar.

Todos os arquivos .xlsx (ou, nesse caso, .docx , .pptx ) são arquivos compactados. Se você renomear um arquivo .xlsx para .zip e abri-lo (ou descompactá-lo), você encontrará vários arquivos e pastas dentro dele.

Da sua captura de tela, parece que o LibreOffice não está realmente compactando os dados quando cria os arquivos. Você pode facilmente verificar isso renomeando uma versão do Excel e uma versão do LibreOffice para .zip , descompactando-as e observando os arquivos e pastas individuais. É provável que os tamanhos não comprimidos correspondam aos tamanhos.

Você também pode fazer essa pergunta no site de perguntas e respostas do LibreOffice, no link .

    
por 16.10.2012 / 19:07