Openpyxl删除数据透视表字段

时间:2018-02-08 21:53:38

标签: python excel pivot-table openpyxl

我正在尝试使用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

2 个答案:

答案 0 :(得分:1)

在第一行之后你可以添加

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

实现这一目标。

答案 1 :(得分:0)

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