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

use*_*790 7 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')
Run Code Online (Sandbox Code Playgroud)

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

ale*_*cxe 9

有一个相关的问题,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()
Run Code Online (Sandbox Code Playgroud)


fra*_*lau 8

这是在2015年修复的.

这是推荐的解决方案(来自问题描述)

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.sheet_view.showGridLines
True
ws.sheet_view.showGridLines = False
wb.save("gridlines.xlsx")
Run Code Online (Sandbox Code Playgroud)

请注意你应该输入ws.sheet_view.showGridLines而不是ws.showGridLines.