This program is an example cell locking and formula hiding in an Excel
worksheet using the protect()
worksheet method.
----
--
-- Example of cell locking and formula hiding in an Excel worksheet
-- using Python and the XlsxWriter module.
--
-- Copyright 2014-2015, John McNamara, jmcnamara@cpan.org
--
local Workbook = require "xlsxwriter.workbook"
local workbook = Workbook:new("protection.xlsx")
local worksheet = workbook:add_worksheet()
-- Create some cell formats with protection properties.
unlocked = workbook:add_format({locked = false})
hidden = workbook:add_format({hidden = true})
-- Format the columns to make the text more visible.
worksheet:set_column('A:A', 40)
-- Turn worksheet protection on.
worksheet:protect()
-- Write a locked, unlocked and hidden cell.
worksheet:write('A1', 'Cell B1 is locked. It cannot be edited.')
worksheet:write('A2', 'Cell B2 is unlocked. It can be edited.')
worksheet:write('A3', "Cell B3 is hidden. The formula isn't visible.")
worksheet:write_formula('B1', '=1+2') -- Locked by default.
worksheet:write_formula('B2', '=1+2', unlocked)
worksheet:write_formula('B3', '=1+2', hidden)
workbook:close()