我正在尝试从使用 openpyxl 创建的 excel 工作表中删除网格线,但它不起作用。我正在这样做:
wb = Workbook()
ws = wb.get_active_sheet()
ws.show_gridlines = False
print ws.show_gridlines
wb.save('file.xlsx')
该代码打印'False',但保存的文件显示网格线。
我正在尝试从使用 openpyxl 创建的 excel 工作表中删除网格线,但它不起作用。我正在这样做:
wb = Workbook()
ws = wb.get_active_sheet()
ws.show_gridlines = False
print ws.show_gridlines
wb.save('file.xlsx')
该代码打印'False',但保存的文件显示网格线。
这是在 2015 年修复的。
这是推荐的解决方案(来自问题描述)
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.sheet_view.showGridLines
True
ws.sheet_view.showGridLines = False
wb.save("gridlines.xlsx")
请注意,您应该键入ws.sheet_view.showGridLines
而不是.ws.showGridLines
问题跟踪器中有一个相关问题。openpyxl
另外,根据源代码show_gridlines
,它只是一个完全没有影响的工作表类属性。只需观看问题以获取有关它的任何更新。
作为替代解决方案,请尝试新的很棒的xlsxwriter模块。它能够在工作表上隐藏网格线(请参阅文档)。这是一个例子:
from xlsxwriter.workbook import Workbook
workbook = Workbook('hello_world.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello world')
worksheet.hide_gridlines(2)
workbook.close()
要在 openpyxl 中删除绘图的主要网格线,请使用:
mychart.x_axis.majorGridlines = None
mychart.y_axis.majorGridlines = None