使用C#和VBA將Excel中的圖表保存為圖片的操作指南
引言
在Excel報表自動化生成和圖表內(nèi)容復(fù)用的場景中,將圖表導(dǎo)出為圖片是一個非常常見的需求,例如用于嵌入PPT報告、發(fā)送郵件展示、網(wǎng)頁可視化展示等。我們可以使用C#代碼實現(xiàn)批量圖表圖片導(dǎo)出,也可以借助VBA在Excel中一鍵導(dǎo)出圖表為圖片。
本文將介紹如何使用 C# 和 VBA 將 Excel 中的圖表保存為圖片,并提供完整的代碼示例和操作指導(dǎo)。
使用 C# 將 Excel 圖表保存為圖片
在 .NET 環(huán)境下,我們可以使用 Free Spire.XLS for .NET 輕松實現(xiàn)批量讀取 Excel 文件中的圖表并導(dǎo)出為 .jpg 格式圖片。
安裝 Spire.XLS
通過 NuGet 安裝 Spire.XLS:
Install-Package FreeSpire.XLS
C# 示例代碼
using Spire.Xls;
using System.Drawing;
Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.xlsx");
// 遍歷所有工作表及其圖表,保存為圖片
foreach (Worksheet sheet in workbook.Worksheets)
{
foreach (Chart chart in sheet.Charts)
{
Bitmap chartImage = chart.SaveToImage();
chartImage.Save($"output/{sheet.Name} - {chart.ChartTitle}.jpg");
}
}
workbook.Dispose();
操作說明
- 載入已有的 Excel 文件;
- 遍歷工作簿中所有工作表;
- 遍歷每個工作表中的圖表(
Chart)對象; - 使用
SaveToImage()方法將圖表保存為Bitmap圖像; - 將圖像保存為
.jpg文件。
適用場景:C# 批量自動導(dǎo)出圖表圖像,用于后臺程序、報表系統(tǒng)等。
使用 VBA 將 Excel 圖表保存為圖片
如果你想直接在 Excel 中導(dǎo)出當前工作簿的圖表為圖片,可以使用 VBA 宏快速實現(xiàn),無需額外安裝插件或庫。
VBA 代碼示例
Sub SaveAllChartsAsImages()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim folderPath As String
Dim chartIndex As Integer
Dim fileName As String
' 設(shè)置保存路徑
folderPath = ThisWorkbook.Path & "\Charts"
If Dir(folderPath, vbDirectory) = "" Then MkDir folderPath
chartIndex = 1 ' 圖片命名編號
' 遍歷所有工作表
For Each ws In ThisWorkbook.Worksheets
' 遍歷工作表中的所有圖表對象
For Each chartObj In ws.ChartObjects
fileName = folderPath & "\" & ws.Name & "_Chart" & chartIndex & ".jpg"
chartObj.Chart.Export Filename:=fileName, FilterName:="JPG"
chartIndex = chartIndex + 1
Next chartObj
Next ws
MsgBox "所有圖表已保存為圖片。", vbInformation
End Sub
操作步驟
- 打開 Excel 文件;
- 按下
Alt + F11打開 VBA 編輯器; - 插入一個新模塊(菜單欄:插入 > 模塊);
- 粘貼上述代碼;
- 按
F5運行宏; - Excel 會在當前文件所在目錄中創(chuàng)建
Charts文件夾,并將所有圖表以.jpg格式導(dǎo)出至該目錄。
適用場景:無需安裝環(huán)境,適合非程序員用戶在 Excel 中快速導(dǎo)出圖表圖片。
效果展示
導(dǎo)出的圖表圖像示例(使用 C#):

總結(jié)
| 方法 | 優(yōu)勢 | 適合人群 |
|---|---|---|
| C# + Spire.XLS | 支持批量處理、嵌入系統(tǒng)、自動化程度高 | 開發(fā)者、系統(tǒng)集成 |
| Excel VBA 宏 | 無需額外組件、操作直觀 | 辦公用戶、無開發(fā)經(jīng)驗者 |
無論你是希望實現(xiàn)圖表自動化導(dǎo)出,還是手動快速生成圖表圖像,這兩種方式都能滿足不同場景下的需求。
以上就是使用C#和VBA將Excel中的圖表保存為圖片的操作指南的詳細內(nèi)容,更多關(guān)于C# VBA將Excel圖表保存圖片的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#用ComboBox控件實現(xiàn)省與市的聯(lián)動效果的方法
這篇文章主要介紹了C#用ComboBox控件實現(xiàn)省與市的聯(lián)動效果的方法,較為詳細的分析了ComboBox控件的使用原理與相關(guān)技巧,需要的朋友可以參考下2015-01-01
c# WPF中通過雙擊編輯DataGrid中Cell的示例(附源碼)
這篇文章主要介紹了c# WPF中通過雙擊編輯DataGrid中Cell的示例(附源碼),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03

