openpyxl3.0官方文档(23)——图表(Chartsheet)

图表(Chartsheet)是只包含图表的特殊工作表。图表的所有数据必须位于不同的工作表中。

    from openpyxl import Workbook
    
    from openpyxl.chart import PieChart, Reference, Series
    
    wb = Workbook()
    ws = wb.active
    cs = wb.create_chartsheet()
    
    rows = [
        ["Bob", 3],
        ["Harry", 2],
        ["James", 4],
    ]
    
    for row in rows:
        ws.append(row)
    
    
    chart = PieChart()
    labels = Reference(ws, min_col=1, min_row=1, max_row=3)
    data = Reference(ws, min_col=2, min_row=1, max_row=3)
    chart.series = (Series(data),)
    chart.title = "PieChart"
    
    cs.add_chart(chart)
    
    wb.save("demo.xlsx")
    

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将表格中多个图表的数据源工作名修改为当前工作名,可以使用openpyxl模块中的`chartsheet.Chartsheet`类和`chart.reference`属性来实现。具体步骤如下: 1. 打开Excel文件并加载工作簿和图表。 ```python import openpyxl # 打开Excel文件并加载工作簿和图表 wb = openpyxl.load_workbook('example.xlsx') ws = wb.active charts = ws._charts ``` 2. 遍历所有图表,并将其数据源工作名修改为当前工作名。 ```python # 遍历所有图表,并将其数据源工作名修改为当前工作名 for chart in charts: chart.chart_title.tx.rich.p[0].t = "New Chart Title" chart.reference = ws['A1:B10'] ``` 在这个例子中,我们将所有图表的数据源工作名修改为当前工作表中的单元格A1到B10。 3. 保存修改后的Excel文件。 ```python # 保存修改后的Excel文件 wb.save('example_modified.xlsx') ``` 完整代码如下: ```python import openpyxl # 打开Excel文件并加载工作簿和图表 wb = openpyxl.load_workbook('example.xlsx') ws = wb.active charts = ws._charts # 遍历所有图表,并将其数据源工作名修改为当前工作名 for chart in charts: chart.chart_title.tx.rich.p[0].t = "New Chart Title" chart.reference = ws['A1:B10'] # 保存修改后的Excel文件 wb.save('example_modified.xlsx') ``` 注意:在修改图表数据源工作名时,需要确保新的数据源范围与原始数据源范围大小相同。如果新的数据源范围大小不同,可能会导致图表显示异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值