【问题标题】:Openpyxl remove pivot table fieldsOpenpyxl 删除数据透视表字段
【发布时间】:2018-02-08 21:53:38
【问题描述】:

我正在尝试使用 openpyxl 和新的数据透视表功能进行导出。

我目前有一个包含两张工作表(RawData 和 Pivot)的工作簿 我在工作簿中加载,将数据放入原始数据,关闭并导出。

当我打开文件时,数据透视表会自动更新数据,但它会在右侧栏显示数据透视表字段/编辑选项。有谁知道怎么去掉这个?

最好我想要一个使用 openpyxl 的解决方案

wb = load_workbook(filename=template_file_path)

wb.remove_sheet(wb["RawData"])
ws = wb.create_sheet("RawData")
ws = wb["RawData"]

# ws.title = "RawData"
# #Add Headers
ws.append(data['headers'][1:])
# #Add raw data
for row in data['data']:
    ws.append(row[1:])




#File settings
file_name = str(template_file_path).replace(' ', '_') + "_export.xlsx"
response = HttpResponse(save_virtual_workbook(wb), content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename= "{0}"'.format(file_name)
return response

【问题讨论】:

    标签: python excel pivot-table openpyxl


    【解决方案1】:

    在第一行之后可以添加

    ws_pivot = wb["Pivot"]
    pivot = ws_pivot._pivots[0] 
    pivot.disableFieldList = True
    

    实现这一目标。

    【讨论】:

      【解决方案2】:

      您可以通过将集合设置为空列表来从工作表中删除数据透视表:ws._pivots = []

      【讨论】:

      • 我不想删除数据透视表。我想删除右边距的数据透视表字段/数据透视表编辑器。这是我要删除的示例:support.content.office.net/en-us/media/… 每次运行代码并打开 excel 文件时都会弹出。我没有在我的模板中打开它
      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-03
      相关资源
      最近更新 更多