Como posso salvar um gráfico em um arquivo PNG ou GIF no Microsoft Excel?

27

Como posso salvar um gráfico em um arquivo PNG ou GIF no Microsoft Excel?

Eu sei que posso salvar como um arquivo HTML e usar a imagem criada lá, mas suspeito que haja uma maneira que não crie outra confusão de arquivos que eu não quero. Fico feliz em instalar um suplemento, se essa for a opção recomendada.

Estou usando o Excel 2003 e o 2007, se isso for importante.

    
por fmark 12.05.2011 / 12:12

6 respostas

34

O Excel não possui nenhum suporte acessível ao usuário para essa funcionalidade, mas você pode contornar isso facilmente ou entrar no VBA, onde essa funcionalidade é fornecida:

Exportação "one-shot"

  • Selecione o gráfico (o gráfico inteiro, não um componente interno; portanto, selecione a borda).
  • Copie (ctrl-c, clique com o botão direito do mouse na cópia que quiser).
  • Abra o MS Paint.
  • Colar (você pode querer minimizar o tamanho da imagem primeiro, ela será ampliada para caber, mas não será reduzida).
  • Salvar como desejado.

Exportação em massa

Você provavelmente desejaria usar ActiveChart.Export em uma macro VBA, isso permite especificar um caminho de arquivo e, em seguida, permite que o Excel execute o trabalho.

Abaixo está um protótipo funcional que acabei de montar. Executar este e todos os gráficos na pasta de trabalho ativa serão exportados para a mesma pasta que o arquivo, no formato PNG, com _chart## anexado ao nome do arquivo (onde ## é um número crescente) .

Ele não executa nenhuma verificação de segurança (assim, sobrescreverá arquivos!) e não contém nenhuma verificação de erro. Ele não funcionará se você ainda não salvou a pasta de trabalho, a localização é somente leitura ou qualquer outra coisa que impeça a gravação na localização do arquivo. Eu só testei isso no Excel 2003 (já que é tudo o que tenho para entregar no momento).

Em outras palavras: Use por sua conta e risco , isso é apenas um exemplo básico de trabalho .

'small nicety to ensure two-digits for better file sorting'
Function NiceFileNumber(num As Integer) As String
    If num < 10 Then
        NiceFileNumber = "0" & num
    Else
        NiceFileNumber = num
    End If
End Function

'the real function'
Sub ExportAllCharts()
    Dim i As Integer, exportCount As Integer
    Dim fileNum As String, fileBase As String
    Dim sheetObj As Worksheet
    Dim chartObj As Chart

    'current file location and name, with extension stripped'
    fileBase = Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, ".") - 1)
    exportCount = 0

    'First, export all charts that are in their own sheets'
    For Each chartObj In ActiveWorkbook.Charts
        fileNum = NiceFileNumber(exportCount)
        exportCount = exportCount + 1

        'Do the export'
        chartObj.Export fileBase & "_chart" & fileNum & ".png"
    Next

    'Then, export all charts that are embedded inside normal sheets'
    For Each sheetObj In ActiveWorkbook.Worksheets
        For i = 1 To sheetObj.ChartObjects.count
            fileNum = NiceFileNumber(exportCount)
            exportCount = exportCount + 1

            'Do the export'
            sheetObj.ChartObjects(i).Activate
            ActiveChart.Export fileBase & "_chart" & fileNum & ".png"
        Next i
    Next
End Sub

Observação: eu encapsulei os comentários em ' s em ambas as extremidades, o que não é necessário, mas ajuda a garantir que eles sejam coloridos corretamente aqui.

    
por 12.05.2011 / 12:29
4

A melhor maneira é salvar o arquivo do Excel como HTML.

Em seguida, vá para a pasta onde as imagens foram armazenadas e você verá as imagens PNG desejadas.

    
por 20.10.2013 / 13:01
3

Para converter com segurança para PNG, copie a figura do Excel, cole-a em um slide no Power Point e faça o seguinte.

Salvar como Outros formatos e selecione o formato desejado. Em seguida, ele perguntará se você deseja aplicar isso apenas ao slide atual ou a todos os slides. Se você selecionar todos os slides, ele criará uma pasta no diretório especificado e salvará cada slide em seu próprio arquivo no formato selecionado.

Não é muito elegante, mas pode ser rápido o suficiente quando você precisa dos arquivos e é especialmente útil se você já fez uma apresentação com os mesmos gráficos.

    
por 22.06.2012 / 17:49
2

Tópico antigo, mas apenas para o caso de alguém aparecer aqui pelo Google: o Excel 2011 para Mac tem a opção "Salvar como imagem" no menu do botão direito para fazer exatamente isso.

    
por 12.12.2013 / 18:20
0

No Excel 2010, você pode fazer isso por:

  1. Clique no gráfico para selecioná-lo.
  2. Copie usando CTRL + C ou clicando com o botão direito do mouse e selecionando Copiar.
  3. Mude para um programa de edição de gráficos (usei Paint.net ).
  4. Colar.

Você pode salvar a imagem no formato que quiser.

    
por 08.05.2014 / 22:17
0

Se você estiver usando o Greenshot (um software de captura de tela), você poderá copiar o gráfico no Excel ( Ctrl + C ), clique com o botão direito do mouse no ícone do Greenshot, selecione Abrir imagem da área de transferência e salve-o. Não há necessidade de usar o editor de gráficos.

    
por 25.10.2015 / 18:36