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()
它将创建以下工作表 −
您不能隐藏"active(活动)"工作表,它通常是第一个工作表,因为这会导致 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() 方法隐藏行。
for row in range(5, 7): worksheet.set_row(row, None, None, {'hidden':1})
这是结果 −