Bagaimana saya bisa menyimpan grafik ke file PNG atau GIF di Microsoft Excel?

27

Bagaimana saya bisa menyimpan grafik ke file PNG atau GIF di Microsoft Excel?

Saya tahu saya bisa menyimpan sebagai file HTML dan menggunakan gambar yang dibuat di sana, tapi saya curiga ada cara yang tidak membuat kekacauan file lain yang tidak saya inginkan. Saya senang menginstal add-in jika itu opsi yang disarankan.

Saya menggunakan Excel 2003 dan 2007 jika itu penting.

fmark
sumber
Berikut adalah penjelasan dan tautan ke Add-In Excel (gratis) yang akan melakukannya untuk Anda: Prosedur Bagan Ekspor yang Disempurnakan
Jon Peltier

Jawaban:

34

Excel tidak memiliki dukungan yang dapat diakses pengguna untuk fungsi ini, tetapi Anda dapat dengan mudah mengatasi ini atau menggali VBA, tempat fungsionalitas ini disediakan:


Ekspor "sekali pakai"

  • Pilih grafik (keseluruhan grafik, bukan komponen internal; jadi pilih perbatasan).
  • Salin (ctrl-c, salin klik kanan, apapun yang Anda suka)
  • Buka MS Paint.
  • Tempel (Anda mungkin ingin meminimalkan ukuran gambar terlebih dahulu, itu akan diperbesar agar pas, tetapi tidak menyusut).
  • Simpan sesuai keinginan.

Ekspor massal

Anda mungkin ingin melihat menggunakan ActiveChart.Exportdalam makro VBA, ini memungkinkan Anda menentukan path file dan kemudian memungkinkan Excel melakukan pekerjaan.

Di bawah ini adalah prototipe kerja yang baru saja saya kumpulkan. Jalankan ini dan setiap bagan di buku kerja aktif akan diekspor ke folder yang sama dengan file itu, dalam format PNG, dengan _chart##ditambahkan ke nama file (di mana ##semakin banyak).

Itu tidak melakukan pemeriksaan keamanan (jadi akan menimpa file!) Dan tidak mengandung pengecekan kesalahan. Ini tidak akan berfungsi jika Anda belum menyimpan buku kerja, lokasi hanya baca atau apa pun yang mencegah penulisan ke lokasi file. Saya hanya menguji ini di Excel 2003 (karena itu yang harus saya tangani saat ini).

Dengan kata lain: Gunakan dengan risiko Anda sendiri , ini dimaksudkan sebagai contoh kerja dasar saja .

'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

Catatan: Saya telah membungkus komentar di 's di kedua ujungnya, yang tidak diperlukan, tetapi membantu memastikan bahwa mereka diwarnai dengan benar di sini.

DMA57361
sumber
Saya lebih suka memiliki cara untuk mengekspornya ke folder yang sama dengan spreadsheet saat ini dengan menekan tombol
fmark
@ tanda - maka di situlah makro masuk, sesuatu seperti ActiveChart.Export ActiveWorkbook.Path & "\chart.png"(tapi mungkin sedikit lebih pintar!) dalam makro terikat tombol bilah alat akan melakukan pekerjaan.
DMA57361
@ tanda, saya bosan dan punya beberapa menit jadi saya telah melemparkan sesuatu yang jauh lebih lengkap. Lihat hasil edit, saya pikir itu akan memberi Anda titik awal yang sangat solid.
DMA57361
Tepuk tangan! Saya akan berputar.
fmark
4

Cara terbaik adalah menyimpan file Excel sebagai HTML.

Lalu pergi ke folder tempat gambar disimpan dan Anda akan melihat gambar PNG yang Anda inginkan.

João Pimentel
sumber
Saya harus sepenuhnya setuju ini benar-benar metode tercepat. Sejauh ini.
Astaga
3

Untuk mengkonversi dengan aman ke PNG, Anda dapat menyalin gambar dari Excel, menempelkannya ke slide di Power Point, dan kemudian lakukan hal berikut.

Simpan SebagaiFormat Lainnya , lalu pilih format yang Anda inginkan. Kemudian akan ditanya apakah Anda ingin menerapkan ini hanya pada slide saat ini, atau semua slide. Jika Anda memilih semua slide, itu membuat folder di direktori yang Anda tentukan, dan menyimpan setiap slide ke file sendiri dalam format yang dipilih.

Ini tidak terlalu elegan, tetapi bisa cukup cepat ketika Anda hanya perlu file, dan sangat membantu jika Anda sudah membuat presentasi dengan grafik yang sama.

sgildea
sumber
2

Utas lama, tetapi untuk berjaga-jaga jika ada orang lain datang ke sini dari Google: Excel 2011 untuk Mac memiliki opsi "Simpan sebagai Gambar" pada menu klik kanan untuk melakukan hal ini.

Dave Mulligan
sumber
Apa versi Excel? Excel 2007 saya jelas tidak memiliki ini. Berpegang teguh pada Office berusia 7 tahun mungkin merupakan "langkah penghematan biaya".
Ogre Psalm33
Excel 2011 untuk Mac adalah apa yang saya gunakan.
Dave Mulligan
0

Di Excel 2010, Anda bisa melakukan ini dengan:

  1. Klik grafik untuk memilihnya.
  2. Salin menggunakan CTRL + C, atau dengan mengklik kanan dan memilih Salin.
  3. Beralih ke program pengeditan grafik (saya menggunakan Paint.net ).
  4. Pasta.

Kemudian Anda dapat menyimpan gambar dalam format apa pun yang Anda suka.

Will Martin
sumber
0

Jika Anda menggunakan Greenshot (perangkat lunak tangkapan layar), maka Anda dapat menyalin grafik di Excel ( Ctrl+ C), lalu klik kanan ikon Greenshot, pilih Buka gambar dari clipboard dan simpan. Tidak perlu menggunakan editor grafis.

gronostaj
sumber