我试图从我使用openpyxl创建的excel工作表中删除网格线,但它不工作。 我这样做:使用python(openpyxl)从excel中删除网格线
wb = Workbook()
ws = wb.get_active_sheet()
ws.show_gridlines = False
print ws.show_gridlines
wb.save('file.xlsx')
的是代码打印“假”,但保存的文件显示网格线。
我试图从我使用openpyxl创建的excel工作表中删除网格线,但它不工作。 我这样做:使用python(openpyxl)从excel中删除网格线
wb = Workbook()
ws = wb.get_active_sheet()
ws.show_gridlines = False
print ws.show_gridlines
wb.save('file.xlsx')
的是代码打印“假”,但保存的文件显示网格线。
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()
这被固定在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
xlsxwriter看起来不错。感谢您的链接。你是否描述过它?它与xlwt相比如何?我过去使用过openpyxl,如果你写很多单元,它比xlwt慢。 – sherve 2013-05-03 13:06:44
是的,看起来很有前途!不幸的是,我还没有分析它。仅供参考,有关性能主题的[某些信息](https://xlsxwriter.readthedocs.org/en/latest/working_with_memory.html)。另外,显然,它只能用于'xlsx'。 – alecxe 2013-05-03 13:21:47
XlsxWriter的+1。 @sherve:我做了一些非正式的性能测试,对我来说XlsxWriter与xlwt相比,明显快于openpyxl。 – 2013-05-06 22:06:24