Wie kann ich ein Diagramm in einer PNG- oder GIF-Datei in Microsoft Excel speichern?

27

Wie kann ich ein Diagramm in einer PNG- oder GIF-Datei in Microsoft Excel speichern?

Ich weiß, dass ich als HTML-Datei speichern und das dort erstellte Bild verwenden kann, aber ich vermute, dass es einen Weg gibt, der keine andere Unordnung von Dateien erzeugt, die ich nicht möchte. Gerne installiere ich ein Add-In, wenn dies die empfohlene Option ist.

Ich verwende Excel 2003 und 2007, wenn das wichtig ist.

fmark
quelle
Hier finden Sie eine Erklärung und einen Link zu einem Excel-Add-In (kostenlos), das dies für Sie erledigt
Jon Peltier,

Antworten:

34

Excel fehlt jede Benutzer zugängliche Unterstützung für diese Funktionalität, aber Sie können entweder leicht das Umgehen oder graben , um VBA, wo diese Funktionalität wird bereitgestellt:


"One-Shot" -Export

  • Wählen Sie das Diagramm aus (das gesamte Diagramm, keine interne Komponente; wählen Sie daher den Rand aus).
  • Kopieren Sie es (Strg-C, Rechtsklick kopieren, was immer Sie wollen).
  • Öffnen Sie MS Paint.
  • Einfügen (möglicherweise möchten Sie zuerst die Bildgröße minimieren, da sie vergrößert, aber nicht verkleinert wird).
  • Speichern Sie wie gewünscht.

Massenexport

Sie möchten sich wahrscheinlich die Verwendung ActiveChart.Exportin einem VBA-Makro ansehen. Auf diese Weise können Sie einen Dateipfad angeben und Excel die Arbeit erledigen.

Unten ist ein funktionierender Prototyp, den ich gerade zusammengestellt habe. Führen Sie dies aus, und jedes Diagramm in der aktiven Arbeitsmappe wird im PNG-Format in denselben Ordner wie diese Datei exportiert und an den Dateinamen _chart##angehängt (wobei ##die Zahl zunimmt).

Es nicht führen Sie alle Sicherheitsüberprüfungen (so werden die Dateien überschrieben werden !) Und nicht eine beliebige Fehlerprüfung. Es funktioniert nicht , wenn Sie die Arbeitsmappe noch nicht gespeichert haben, der Speicherort schreibgeschützt ist oder sonst etwas, das das Schreiben in den Speicherort der Datei verhindert. Ich habe dies nur in Excel 2003 getestet (das ist alles, was ich im Moment zur Verfügung habe).

Mit anderen Worten: Die Verwendung auf eigenes Risiko ist nur als grundlegendes Arbeitsbeispiel gedacht .

'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

Hinweis: Ich habe die Kommentare 'an beiden Enden in s eingeschlossen, was nicht erforderlich ist, aber dabei hilft, sicherzustellen, dass sie hier richtig gefärbt sind.

DMA57361
quelle
Ich würde es vorziehen , einen Weg , um es in die gleichen Ordner wie die aktuelle Tabelle an dem Knopfdruck zu exportieren
fmark
@fmark - dann kommt hier das Makro ins Spiel, so etwas wie ActiveChart.Export ActiveWorkbook.Path & "\chart.png"(aber vielleicht ein bisschen schlauer!) in einem Makro, das an eine Symbolleistenschaltfläche gebunden ist, würde die Arbeit erledigen.
DMA57361,
@fmark, mir war langweilig und ich hatte ein paar Minuten Zeit, um etwas viel vollständigeres zusammenzustellen. Schauen Sie sich die Bearbeitung an, ich denke, das gibt Ihnen einen wirklich soliden Ausgangspunkt.
DMA57361,
Prost! Ich werde es versuchen.
fmark
4

Der beste Weg ist, die Excel-Datei als HTML zu speichern.

Wechseln Sie dann in den Ordner, in dem die Bilder gespeichert wurden, und Sie sehen die gewünschten PNG-Bilder.

João Pimentel
quelle
Ich muss voll und ganz zustimmen, dass dies wirklich die schnellste Methode ist. Bei weitem.
Jeef
3

Um sicher nach PNG zu konvertieren, können Sie die Abbildung aus Excel kopieren, auf einer Folie in Power Point einfügen und dann die folgenden Schritte ausführen.

Speichern unterAndere Formate und wählen Sie dann das gewünschte Format aus. Anschließend werden Sie gefragt, ob Sie dies nur auf die aktuelle Folie oder auf alle Folien anwenden möchten. Wenn Sie alle Folien auswählen, wird in dem von Ihnen angegebenen Verzeichnis ein Ordner erstellt und jede Folie im ausgewählten Format in einer eigenen Datei gespeichert.

Es ist nicht sehr elegant, aber es kann schnell genug sein, wenn Sie nur die Dateien benötigen, und es ist besonders hilfreich, wenn Sie bereits eine Präsentation mit denselben Grafiken erstellt haben.

sgildea
quelle
2

Alter Thread, aber nur für den Fall, dass jemand anderes von Google hier landet: Excel 2011 für Mac verfügt über die Option "Als Bild speichern" im Kontextmenü, um genau dies zu tun.

Dave Mulligan
quelle
Welche Version von Excel? Mein Excel 2007 hat das definitiv nicht. Das Festhalten an einem 7 Jahre alten Büro ist wahrscheinlich eine "Kosteneinsparungsmaßnahme".
Ogre Psalm33
Ich verwende Excel 2011 für Mac.
Dave Mulligan
0

In Excel 2010 können Sie dies folgendermaßen tun:

  1. Klicken Sie auf das Diagramm, um es auszuwählen.
  2. Kopieren Sie mit STRG + C oder durch Klicken mit der rechten Maustaste und Auswählen von Kopieren.
  3. Wechseln Sie zu einem Grafikbearbeitungsprogramm (ich habe Paint.net verwendet ).
  4. Einfügen.

Anschließend können Sie das Bild in einem beliebigen Format speichern.

Will Martin
quelle
0

Wenn Sie Greenshot (eine Bildschirmaufnahme-Software) verwenden, können Sie das Diagramm in Excel ( Ctrl+ C) kopieren. Klicken Sie dann mit der rechten Maustaste auf das Symbol von Greenshot, wählen Sie Bild aus Zwischenablage öffnen und speichern Sie es. Sie müssen keinen Grafikeditor verwenden.

gronostaj
quelle