Python Excel 高階教程:使用 Spire.XLS 插入、修改和刪除迷你圖
在日常工作中,你是否遇到過(guò)這些情況:需要分析圖表背后的原始數(shù)據(jù)卻無(wú)從下手?圖表尺寸不合適遮擋了重要信息?圖表位置不合理影響報(bào)告布局?
在 Excel 中,迷你圖是一種緊湊而高效的圖表類型,它通常嵌入在單元格內(nèi),用于快速直觀地展示數(shù)據(jù)趨勢(shì)。這種圖表非常適合用于顯示單元格區(qū)域中的數(shù)據(jù)變化,尤其在處理大量數(shù)據(jù)時(shí),能夠幫助我們輕松識(shí)別模式和趨勢(shì)。本文將詳細(xì)介紹如何使用 Spire.XLS for Python 在 Excel 中插入、修改和刪除迷你圖。
插入迷你圖
假設(shè)你現(xiàn)在有一個(gè)工作簿,其中某個(gè)工作表需要你繪制圖表來(lái)描述數(shù)據(jù)的趨勢(shì)。然而,你發(fā)現(xiàn)該工作表數(shù)據(jù)量龐大,組織結(jié)構(gòu)復(fù)雜,直接添加常規(guī)圖表可能會(huì)導(dǎo)致工作簿布局混亂。 此時(shí),迷你圖便成為了一個(gè)理想的替代方案,它占用空間小,同時(shí)能清晰地顯示數(shù)據(jù)趨勢(shì)。
迷你圖是 Excel 中一種獨(dú)特的圖表類型,因?yàn)樗幌衿渌麍D表那樣可能占用多個(gè)單元格區(qū)域,而是僅占用一個(gè)單元格,特別適合在可用空間不足時(shí)使用。
Spire.XLS for Python 支持向 Excel 工作表中插入三種迷你圖:
- 折線迷你圖:顯示數(shù)據(jù)隨時(shí)間的變化趨勢(shì),適用于展示連續(xù)數(shù)據(jù)的變化。
- 柱形迷你圖:以豎條的形式展示數(shù)據(jù),適合用于比較一系列數(shù)值之間的大小。
- 盈虧迷你圖:用于展示二進(jìn)制結(jié)果(如盈虧、勝負(fù)等),通常只有兩個(gè)值(正值或負(fù)值)會(huì)顯示為相同的顏色。
關(guān)鍵步驟如下:
- 創(chuàng)建 Workbook 類的對(duì)象并使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workbook.Worksheets[index] 屬性獲取特定工作表。
- 使用 Worksheet.SparklineGroups.AddGroup() 方法給工作表添加一個(gè)迷你圖組。
- 使用 SparklineGroup.SparklineType、SparklineGroup.SparklineColor 和 SparklineGroup.HighPointColor 屬性指定迷你圖組中迷你圖的類型、顏色和最高點(diǎn)的顏色。
- 使用 SparklineGroup.Add() 方法添加一個(gè)迷你圖集合,然后使用 SparklineCollection.Add() 方法添加迷你圖到迷你圖集合。
- 使用 Workbook.SaveToFile() 方法保存結(jié)果文檔。
from spire.xls import * from spire.xls.common import * # 創(chuàng)建Workbook對(duì)象 workbook = Workbook() # 加載一個(gè)Excel文件 workbook.LoadFromFile("Microsoft Excel 工作簿.xlsx") # 獲取第一個(gè)工作表 sheet = workbook.Worksheets[0] # 添加折線迷你圖組 sparkline_group1 = sheet.SparklineGroups.AddGroup() sparkline_group1.SparklineType = SparklineType.Line # 設(shè)置迷你圖組的顏色 sparkline_group1.SparklineColor = Color.get_Orange() # 設(shè)置迷你圖組最高點(diǎn)的顏色 sparkline_group1.HighPointColor = Color.get_Red() # 添加迷你圖到圖組 sparklines1 = sparkline_group1.Add() sparklines1.Add(sheet.Range["B3:M3"], sheet.Range["N3"]) # 添加柱形迷你圖組 sparkline_group2 = sheet.SparklineGroups.AddGroup() sparkline_group2.SparklineType = SparklineType.Column # 設(shè)置迷你圖組的顏色 sparkline_group2.SparklineColor = Color.get_BlueViolet() # 設(shè)置迷你圖組最高點(diǎn)的顏色 sparkline_group2.HighPointColor = Color.get_Red() # 添加迷你圖到圖組 sparklines2 = sparkline_group2.Add() sparklines2.Add(sheet.Range["B4:M4"], sheet.Range["N4"]) # 添加盈虧迷你圖組 sparkline_group3 = sheet.SparklineGroups.AddGroup() sparkline_group3.SparklineType = SparklineType.Stacked # 設(shè)置迷你圖組的顏色 sparkline_group3.SparklineColor = Color.get_DarkBlue() # 設(shè)置迷你圖組最高點(diǎn)的顏色 sparkline_group3.HighPointColor = Color.get_Red() # 添加迷你圖到圖組 sparklines3 = sparkline_group3.Add() sparklines3.Add(sheet.Range["B5:M5"], sheet.Range["N5"]) # 保存文檔 workbook.SaveToFile("添加迷你圖.xlsx", ExcelVersion.Version2016) workbook.Dispose()
上述代碼在現(xiàn)有工作表的 N3:N5 區(qū)間內(nèi)添加了3個(gè)迷你圖,分別是折線迷你圖、柱形迷你圖和盈虧迷你圖,并分別為它們?cè)O(shè)置了樣式。

(在 Excel 表格中插入迷你圖)
修改迷你圖
僅僅插入迷你圖還不足以完全反映數(shù)據(jù)的真實(shí)情況。你可能需要修改其樣式、顏色或數(shù)據(jù)源,以使其準(zhǔn)確顯示你所需的信息。
Python 提供了 SparklineGroup、SparklineType 屬性,讓你可以在 Python 環(huán)境下輕松修改 Excel 工作表中迷你圖的類型和數(shù)據(jù)源。
關(guān)鍵步驟如下:
- 創(chuàng)建 Workbook 類的對(duì)象并使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workbook.Worksheets[index] 屬性獲取特定工作表。
- 使用 Worksheet.SparklineGroups[index] 屬性獲取工作表中特定的迷你圖組。
- 使用 SparklineGroup.SparklineType 屬性修改迷你圖組中迷你圖的類型。
- 獲取迷你圖組中第一個(gè)迷你圖的集合并使用 ISparklines.RefreshRanges() 方法修改迷你圖集合的數(shù)據(jù)源。
- 使用 Workbook.SaveToFile() 方法保存結(jié)果文檔。
from spire.xls import * from spire.xls.common import * # 創(chuàng)建Workbook對(duì)象 workbook = Workbook() # 加載一個(gè)Excel文件 workbook.LoadFromFile("添加迷你圖.xlsx") # 獲取第一個(gè)工作表 sheet = workbook.Worksheets[0] # 修改第一個(gè)迷你圖組中迷你圖的類型和數(shù)據(jù)范圍 sparklineGroup = sheet.SparklineGroups[0] sparklineGroup.SparklineType = SparklineType.Column sparklines = sparklineGroup[0] sparklines.RefreshRanges(sheet.Range["B3:G3"], sheet.Range["N3"]) # 保存結(jié)果文檔 workbook.SaveToFile("修改迷你圖.xlsx", ExcelVersion.Version2016) workbook.Dispose()
上述代碼成功將N3單元格的折線迷你圖修改為了柱形迷你圖,同時(shí)沒(méi)有影響到其他的任何單元格。

(通過(guò) Python 在 Excel 中修改迷你圖)
刪除迷你圖
有時(shí),為了簡(jiǎn)化報(bào)表或重新組織數(shù)據(jù),你可能需要?jiǎng)h除 Excel 工作表中的迷你圖。
Spire.XLS for Python 提供了 **Remove()**方法來(lái)刪除單個(gè)迷你圖或整個(gè)迷你圖組。
關(guān)鍵步驟如下:
- 創(chuàng)建 Workbook 類的對(duì)象并使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workbook.Worksheets[index] 屬性獲取特定工作表。
- 使用 Worksheet.SparklineGroups[index] 屬性獲取工作表中特定的迷你圖組。
- 使用 Worksheet.SparklineGroups.Remove() 方法刪除該迷你圖組?;蛘攉@取迷你圖組中第一個(gè)迷你圖的集合并刪除集合中的第一個(gè)迷你圖。
- 使用 Workbook.SaveToFile() 方法保存結(jié)果文檔。
from spire.xls import * from spire.xls.common import * # 創(chuàng)建Workbook對(duì)象 workbook = Workbook() # 加載一個(gè)Excel文件 workbook.LoadFromFile("添加迷你圖.xlsx") # 獲取第一個(gè)工作表 sheet = workbook.Worksheets[0] # 獲取第一個(gè)迷你圖組 sparklineGroup = sheet.SparklineGroups[0] # 刪除第一個(gè)迷你圖組中的第一個(gè)迷你圖 sparklines = sparklineGroup[0] sparklines.Remove(sparklines[0]) # 保存結(jié)果文檔 workbook.SaveToFile("刪除迷你圖.xlsx", ExcelVersion.Version2016) workbook.Dispose()
上述代碼將可以把工作表內(nèi)的第一個(gè)迷你圖刪除,不影響它引用的數(shù)據(jù)源或其他迷你圖。
結(jié)語(yǔ)
本文詳細(xì)介紹了如何使用 Spire.XLS for Python 在 Excel 中進(jìn)行迷你圖的插入、修改和刪除操作。通過(guò)這些功能,你可以更靈活地處理和展示數(shù)據(jù),提升數(shù)據(jù)分析報(bào)告的專業(yè)性和可讀性。
迷你圖作為一種輕量級(jí)的數(shù)據(jù)可視化工具,在有限的空間內(nèi)提供了強(qiáng)大的趨勢(shì)洞察力,是 Excel 報(bào)表制作中不可或缺的一部分。
希望本文能幫助你更好地利用 Spire.XLS for Python,高效地完成日常的 Excel 數(shù)據(jù)處理任務(wù)。

浙公網(wǎng)安備 33010602011771號(hào)