用Python代码锁定Excel单元格以及行和列

Excel能够帮助用户高效地组织数据,还支持复杂的公式计算和数据分析。而随着团队协作的日益频繁,保护数据的准确性和完整性变得尤为重要。在Excel表格中,我们可以通过锁定特定的单元格或区域,防止对单元格内容进行随意修改,确保关键数据、公式或格式不被误改,从而维护表格的一致与可靠。本文将介绍如何使用Python代码来实现对Excel单元格的锁定,实现批量操作以及自动化。

文章目录

    • 用Python锁定Excel工作表中的指定单元格
    • 用Python锁定Excel工作表中的指定列

本文所使用的方法基于Spire.XLS for Python,PyPI:pip install Spire.XLS

用Python锁定Excel工作表中的指定单元格

我们可以通过将 Worksheet.Range[].Style.Locked 属性设置 True 来实现对指定单元格范围进行锁定的操作。
注意:Excel工作表中的所有单元在默认情况下都是锁定状态,但单元格锁定在Excel文件本身没有设置密码时不会生效。所以我们在锁定指定单元格时,需要先解锁所有单元格,然后再锁定指定单元格并为文件设置密码。
以下是操作步骤:
导入所需模块。

  1. 创建 Workbook 实例,并使用 Workbook.LoadFromFile() 方法加载Excel文件。
  2. 使用 Workbook.Worksheets.get_Item() 方法获取第一个工作表。
  3. 通过将 Worksheet.Range.Style.Locked 属性设置为 False,解除对工作表所用范围内所有单元格的锁定。
  4. 将指定单元格 Worksheet.Range[].Style.Locked 属性设置为 “True ”从而进行锁定。
  5. 使用 XlsWorksheetBase.Protect() 方法保护工作表。
  6. 使用 Workbook.SaveToFile() 方法保存结果文件。

代码示例

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook实例并加载示例文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)# 解锁工作表中使用范围内的所有单元格
sheet.Range.Style.Locked = False# 锁定工作表中的特定单元格
sheet.Range["A2"].Style.Locked = True# 锁定工作表中的特定单元格范围
sheet.Range["F3:H4"].Style.Locked = True# 使用密码保护工作表
sheet.Protect("123456", SheetProtectionType.All)# 保存结果文件
workbook.SaveToFile("output/锁定Excel单元格.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

结果
Python锁定Excel单元格

用Python锁定Excel工作表中的指定列

如果需要对指定列或行进行锁定,也可以使用相似的方法,将 Worksheet.Columns[].Style.LockedWorksheet.Rows[].Style.Locked 属性设置为 True
以下是操作步骤:

  1. 创建 Workbook 实例,并使用 Workbook.LoadFromFile() 方法加载Excel文件。
  2. 使用 Workbook.Worksheets.get_Item() 方法获取第一个工作表。
  3. 通过将 Worksheet.Range.Style.Locked 属性设置为 False,解除对工作表所用范围内所有单元格的锁定。
  4. 将指定列或行 Worksheet.Columns[].Style.LockedWorksheet.Rows[].Style.Locked 属性设置为 “True ”从而进行锁定。
  5. 使用 XlsWorksheetBase.Protect() 方法保护工作表。
  6. 使用 Workbook.SaveToFile() 方法保存结果文件。

代码示例

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook实例并加载示例文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)# 解锁工作表中使用范围内的所有单元格
sheet.Range.Style.Locked = False# 锁定工作表中的第一列
sheet.Columns[0].Style.Locked = True# 锁定工作表中的第二行
sheet.Rows[1].Style.Locked = True# 使用密码保护工作表
sheet.Protect("123456", SheetProtectionType.All)# 保存结果文件
workbook.SaveToFile("output/锁定Excel行和列.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

本文介绍了如何使用Python代码实现锁定Excel工作表中的指定单元格,包括锁定单元格范围、锁定行以及锁定列。

更多Excel文件操作技巧请前往Spire.XLS for Python教程查看。

申请免费License

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/26643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm上传文件到服务器python代码部署到服务器

文章目录 step1:【Tools】—-【Deployment】—-【Configuration】step2:【 】—-【SFTP】—-【输入服务器名称】step3:【 Deployment path】—-【输入相对地址】step4:【 选中项目右击】—-【Deployment】—-【upload to xxxxx】…

css实现优惠券样式

实现优惠券效果: 实现思路: 需要三个盒子元素,使用 css 剪裁,利用 ellipse 属性,将两个盒子分别裁剪成两个半圆,位置固定在另一个盒子元素左右两边适当位置上。为另一个盒子设置想要的样式,圆角…

MFC socket编程-服务端和客户端流程

MFC 提供了一套丰富的类库来简化 Windows 应用程序的网络编程。以下是使用 MFC 进行 socket 编程时服务端和客户端的基本流程: 服务端流程: 初始化 Winsock: 调用 AfxSocketInit 初始化 Winsock 库。 创建 CSocket 或 CAsyncSocket 对象&am…

汇编:保护模式下的寻址方式

寻址(Addressing)是计算机在访问内存时定位数据的过程;它涉及如何指定内存位置,以便处理器能够正确地读取和写入数据,不同的计算机架构和操作模式支持多种不同的寻址方式。以下是常见的寻址方式: ①立即数…

强烈推荐的JetBrains家族的插件

Rainbow Brackets 该插件提供了不同颜色的对应的括号格式,便于在开发中检查缺少括号的情况,效果如下 CodeGlance Pro 该插件是代码缩略图插件,方便在开发中快速定位代码位置,也可作为滚动条使用,CodeGlance Pro搜不到…

webpack插件

plugin 插件向第三方开发者提供了 webpack 引擎中完整的能力。使用阶段式的构建回调,开发者可以引入它们自己的行为到 webpack 构建流程中。创建插件比创建 loader 更加高级,因为你将需要理解一些 webpack 底层的内部特性来做相应的钩子 为什么需要一个…

(Git)多人协作1

文章目录 前言总结 前言 目标:master分支下file.txt文件新增“aaa”,“bbb” 实现:开发者1新增“aaa”,开发者2新增“bbb” 条件:在同一个分支下协作完成 实际开发过程中,每个用户都与属于自己的码云账户,如果想要进…

windows安装SQLyog

windows安装SQLyog 1. 下载 SQLyog 安装包 访问 SQLyog 的官方网站。在网站上找到下载链接,通常会有一个“Download”或“Try Now”按钮。如果需要注册或填写信息以获取下载链接,请按提示操作。 2. 运行安装程序 下载完成后,双击运行下载…

css设置滚动条样式;滚动条设置透明

滚动条透明代码 .resizable-div {resize: both;/* 允许水平和垂直调整大小 */overflow: auto;/* 确保内容超出边界时出现滚动条 */ } /* 滚动条整体样式 */ .resizable-div::-webkit-scrollbar {width: 4px; /* 竖直滚动条宽度 */height: 4px; /* 水平滚动条高度 */ }/* 滚动条…

湖州等保测评公司有几家?在那里?电话多少?

湖州等保测评公司有几家?在那里?电话多少? 【回答】:目前湖州暂未有正规等保测评机构。因此湖州企业可以就近选择浙江省内正规等保测评机构,有可以网上寻找合适的等保测评机构。 知识拓展1:浙江正规等保测…

Python学习笔记6:pychram相关知识及安装教程,后续需要学习的入门知识

上篇文章说了,今天去公司重新装一下IDE,最后也是把过程这边再记录一下,有需要的可以参考一下。 关于pychram pychram是什么? PyCharm是由JetBrains公司开发的一款流行的Python集成开发环境(IDE)。它专为…

Linux C/C++ socket

一、第一个网络通讯程序 网络通讯是指两台计算机中的程序进行传输数据的过程客户程序(端):指主动发起通讯的程序。服务程序(端/器):指被动的等待,然后为向它发起通讯的客户端提供服务。 /** 程序名:demo1.cpp,此程序用于演示socket的客户端…

洛谷P1305 新二叉树(树的基本遍历)

题目描述 输入一串二叉树,输出其前序遍历。 输入格式 第一行为二叉树的节点数 𝑛。(1≤𝑛≤26) 后面 𝑛 行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点…

Apollo9.0 PNC源码学习之Control模块(一)—— 控制模块概览

0 前言 从planning的角度看control,首先需要了解的就是相关的数据接口,规划出的轨迹(路径+速度)发给Control模块去执行 modules/planning/planning_component/planning_component.cc planning模块发布轨迹信息 planning_writer_ = node_->CreateWriter<ADCTrajecto…

60行代码加速20倍: NEON实现深度学习OD任务后处理绘框

【前言】 本文版权属于GiantPandaCV&#xff0c;未经允许&#xff0c;请勿转载&#xff01; 最近在学neon汇编加速&#xff0c;由于此前OD任务发现在检测后处理部分使用OpenCV较为占用资源且耗时&#xff0c;遂尝试使用NEON做后处理绘框&#xff0c;以达到加速并降低CPU资源消耗…

Linux 中 “ 磁盘、进程和内存 ” 的管理

在linux虚拟机中也有磁盘、进程、内存的存在。第一步了解一下磁盘 一、磁盘管理 &#xff08;1.1&#xff09;磁盘了解 track&#xff08; 磁道 &#xff09; &#xff1a;就是磁盘上的同心圆&#xff0c;从外向里&#xff0c;依次排序1号&#xff0c;2号磁盘........等等。…

802.11中的各种帧

在无线网络中&#xff0c;802.11协议定义了三种类型的帧&#xff1a;管理帧&#xff08;Management Frames&#xff09;、控制帧&#xff08;Control Frames&#xff09;和数据帧&#xff08;Data Frames&#xff09;。每种类型的帧都有其特定的功能&#xff0c;帮助维护和管理…

QNX简述

文章目录 前言1. QNX简介1.1 什么是QNX1.2 QNX的应用场景1.3 QNX的优点1.4 QNX的发展史1.5 QNX的商业模式 2. QNX的技术特点3. QNX和其它操作系统的比较3.1 QNX VS LINUX3.2 QNX VS FreeRTOS3.3 QNX VS 鸿蒙操作系统 4. 我的疑问4.1 微内核看起来又稳定又容易调试&#xff0c;为…

【讯为Linux驱动开发】6.自旋锁spinlock

【自旋锁】 线程A获取自旋锁后&#xff0c;B假如想获取自旋锁则只能原地等待&#xff0c;仍占用CPU&#xff0c;不会休眠&#xff0c;直到获取自旋锁为止。 【函数】 DEFINE SINLOCK(spinlock t lock) 定义并初始化一个变量int spin lock init(spinlock t*lock) 初始化自…

技术速递|Java on Azure Tooling 5月更新 - Java 对 Azure 容器应用程序的入门指南支持

作者&#xff1a;Jialuo Gan 排版&#xff1a;Alan Wang 大家好&#xff0c;欢迎阅读 Java on Azure 工具 5 月份更新。在本次更新中&#xff0c;我们将介绍 Java 在 Azure 上的容器应用程序的入门指南。希望您喜欢这些更新&#xff0c;并享受使用 Azure 工具包的流畅体验。请下…