Python XlsxWriter – 隐藏或保护工作表
工作表对象的 hide() 方法使工作表消失,直到通过Excel菜单解除隐藏。
在下面的工作表中,有三个工作表,其中的 sheet2 被隐藏。
sheet1 = workbook.add_worksheet()
sheet2 = workbook.add_worksheet()
sheet3 = workbook.add_worksheet()
# Hide Sheet2. It won't be visible until it is unhidden in Excel.
worksheet2.hide()
它将创建以下工作表 —
你不能隐藏 ” 活动 “的工作表,通常是第一个工作表,因为这将导致 Excel错误。 因此,为了隐藏第一个工作表,你需要激活另一个工作表。
sheet2.activate()
sheet1.hide()
隐藏特定的行或列
要隐藏工作表中的特定行或列,可在 set_row() 或 set_column() 方法中设置 hidden 参数为 1。下面的语句隐藏了活动工作表中的C、D和E列。
worksheet.set_column('C:E', None, None, {'hidden': 1})
例子
考虑以下程序 –
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
format1=wb.add_format({'bg_color':'#D9D9D9', 'bold':True})
for col in range(0, 15):
worksheet.write(0, col, col+1, format1)
for row in range(1, 51):
for col in range(0,15):
if col==0:
worksheet.write(row,col,(col+1)*(row + 1), format1)
else:
worksheet.write(row,col,(col+1)*(row + 1))
worksheet.set_column('C:E', None, None, {'hidden': 1})
wb.close()
输出
执行上述代码的结果是,在下面的工作表中,C、D和E列不可见。
同样地,我们也可以通过 set_row() 方法,在hidden参数的帮助下隐藏行。
for row in range(5, 7):
worksheet.set_row(row, None, None, {'hidden':1})
下面是结果–