

今日工作需求,如何在指定页中批量插入迷你图,代码如下:
代码参考:https://www.cnblogs.com/Yesi/p/19064089
from spire.xls import *
from spire.xls.common import *
def add_mini_line_charts_with_spire(xlsx_path, sheet_name="销量明细"):
"""
使用Spire.XLS在Excel文件的指定工作表中,为Y列到AH列的数据在AI列批量嵌入迷你折线图
"""
# 创建工作簿对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile(xlsx_path)
# 获取指定工作表
worksheet = workbook.Worksheets[sheet_name]
# 获取最大行数
## max_row = worksheet.LastRow
max_row = 20
# 遍历每一行,为每行数据创建迷你折线图
for row in range(2, max_row + 1): # 从第2行开始,跳过表头
# 添加折线迷你图组
sparkline_group1 = worksheet.SparklineGroups.AddGroup()
sparkline_group1.SparklineType = SparklineType.Line
# 添加迷你图到图组
sparklines1 = sparkline_group1.Add()
# 设置数据范围(Y到AH列)
sparklines1.Add(worksheet.Range[f"Y{row}:AH{row}"], worksheet.Range[f'AI{row}'])
# 设置迷你图样式
sparkline_group1.SparklineColor = Color.get_Orange() # 橘色
sparkline_group1.ShowHighPoint = True # 最高点
sparkline_group1.ShowLowPoint = True # 最低点
# 调整迷你图大小以适配单元格
worksheet.Range[f'AI{row}'].ColumnWidth = 15
worksheet.Range[f'AI{row}'].RowHeight = 20
# 保存到原文件
workbook.SaveToFile(xlsx_path, ExcelVersion.Version2016)
workbook.Dispose()
print(f"迷你折线图已批量嵌入到AI列: {xlsx_path}")
if __name__ == "__main__":
xlsx_file = "SKU销量_近10天数据.xlsx"
add_mini_line_charts_with_spire(xlsx_file, "销量明细")
效果图如下:

又解决一个小问题
一键三连