使用python(openpyxl)从excel中删除网格线

时间:2013-05-02 16:14:16

标签: python excel python-2.7 openpyxl

我正在尝试从使用openpyxl创建的excel工作表中删除网格线,但它无法正常工作。 我这样做:

wb = Workbook()   
ws = wb.get_active_sheet()
ws.show_gridlines = False
print ws.show_gridlines
wb.save('file.xlsx')

该代码打印'False',但保存的文件显示网格线。

2 个答案:

答案 0 :(得分:8)

openpyxl问题跟踪器中有一个相关的issue。另外,根据源代码show_gridlines只是一个完全没有影响的工作表类属性。只需观察问题即可获得更新。

作为替代解决方案,请尝试新的和令人敬畏的xlsxwriter模块。它能够隐藏工作表上的网格线(参见docs)。这是一个例子:

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()

答案 1 :(得分:8)

这是在2015年确定的。

以下是推荐的解决方案(来自issue的说明)

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