Extrai dados do gráfico do Excel delinked

5

Eu tenho um arquivo do Word que tem alguns gráficos do Excel nele. Infelizmente eu perdi os gráficos originais do Excel e o arquivo de palavras agora está 'desconectado'.

Existe uma maneira de recuperar os dados perdidos para os gráficos? Apenas copiar a plotagem de volta para o Excel parece não funcionar, mas eu posso ver que os dados ainda estão lá em algum lugar, porque passar o mouse sobre um ponto na plotagem mostra os valores.

Eu encontrei uma solução

 1) Unzip the word/powerpoint file 

 2) go to word/chart/ and open the xml files in Access
    
por danny 26.09.2013 / 04:47

3 respostas

4

Eu tive que fazer o mesmo com uma apresentação do PowerPoint 2010. Eu acho que como uma solução a longo prazo, o script VBA é um bom caminho a percorrer. No entanto, não consegui fazer com que funcionasse no meu caso por algum motivo, e eu só precisava obter dados uma vez. (Como uma solução estrutural, você provavelmente não deve perder seus dados originais em primeiro lugar). Isto é o que pode ser feito:

  1. Renomeie o arquivo PPT para ter a extensão .zip
  2. Descompacte o arquivo resultante em uma pasta.
  3. A pasta deve conter uma subpasta ppt/charts/ .
  4. Abra chart1.xml com o Excel como uma tabela XML . (Basta abrir o arquivo e o Excel perguntará como abri-lo.
  5. O documento terá muitas colunas, muitas delas com o mesmo valor em cada linha. Uma coluna será os valores x do seu gráfico. Você pode encontrá-lo comparando os valores com o que vê na apresentação. Os valores y estão em outra coluna e, no meu caso, também abaixo dos valores x (portanto, as primeiras linhas na coluna de dados y estão vazias).
  6. Achei mais fácil copiar e colar os valores x e y ao lado um do outro em um novo documento.
  7. Para verificar os dados, selecione os dados colados e insira > Gráficos > Dispersão > Com linhas suaves. A primeira coluna deve ser valores x, os segundos valores y.
  8. Achei mais fácil criar uma nova apresentação com apenas uma curva do arquivo original. No entanto, se houver muitos gráficos, você provavelmente verá também chart2.xml etc. na pasta descompactada. Se um gráfico contiver mais de uma linha, você terá que encontrar os dados adicionais no XML.
por 12.06.2014 / 11:09
2

Você precisa usar o VBA para extrair os dados. Aqui está uma possível solução VBA: link . Inclui este código:

Sub ExtractChartData()
   Dim iSrs As Long
   Dim cht As Chart
   Dim srs As Series
   Dim ws As Worksheet

   If ActiveChart Is Nothing Then Exit Sub

   Set cht = ActiveChart
   Set ws = Worksheets.Add
   For iSrs = 1 To cht.SeriesCollection.Count
     Set srs = cht.SeriesCollection(iSrs)
     On Error Resume Next
     ws.Cells(1, 2 * iSrs).Value = srs.Name
     ws.Cells(2, 2 * iSrs - 1).Resize(srs.Points.Count).Value = _
         WorksheetFunction.Transpose(srs.XValues)
     ws.Cells(2, 2 * iSrs).Resize(srs.Points.Count).Value = _
         WorksheetFunction.Transpose(srs.Values)
   Next
 End Sub

Aqui está outra possível solução, diretamente da Microsoft: link (também envolve o VBA)

    
por 26.03.2014 / 17:41
0

Existe uma solução bastante negativa e suja se não houver uma grande quantidade de dados.

Selecione a série, selecione a guia Layout nas ferramentas de gráfico, adicione rótulos de dados, você pode simplesmente ler os valores e digitá-los onde precisar.

    
por 22.09.2015 / 09:46