当前位置: 首页 > news >正文

用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

相关文章:

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

Excel能够帮助用户高效地组织数据,还支持复杂的公式计算和数据分析。而随着团队协作的日益频繁,保护数据的准确性和完整性变得尤为重要。在Excel表格中,我们可以通过锁定特定的单元格或区域,防止对单元格内容进行随意修改&#xf…...

在Lua解释器中注册自定义函数库

本文目录 1、引言2、注册原理3、实例4、程序验证 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中,Lua因其轻量级、高效和可嵌入性而被广泛使用。作为一种灵活的脚本语言…...

UKP3D用户定制图框的思路

为用户定制图框,记录以下图框制作方法,便于用户自已修改。 1.轴测图与平面图的图框: 1.1.图框在安装目录下,例如:E:\Program Files (x86)\UKSoft\UKP3d9.2\config\TemplateAndBlock\CADTemplate\ 1.2.配置文件在安装…...

事务并发问题 与 事务隔离级别

来源:微软sql文档 https://learn.microsoft.com/en-us/sql/odbc/reference/develop-app/transaction-isolation-levels?viewsql-server-ver16 事务隔离级别,是一种衡量事务隔离程度的指标。 事务隔离级别的定义,取决于能不能解决以下几个问…...

云原生Kubernetes系列项目实战-k8s集群+高可用负载均衡层+防火墙

一、Kubernetes 区域可采用 Kubeadm 方式进行安装: 名称主机部署服务master192.168.91.10docker、kubeadm、kubelet、kubectl、flannelnode01192.168.91.11docker、kubeadm、kubelet、kubectl、flannelnode02192.168.91.20docker、kubeadm、kubelet、kubectl、flan…...

MFC为什么说文档在数据的保存和给用户提供数据之间划分了清晰的界限?

MFC MFC(Microsoft Foundation Classes)是微软为Windows应用程序开发提供的一套C类库,它在设计上强调了"文档-视图"(Document-View)架构。这种架构将文档(Document)与用户界面&#…...

SAS:PROC SQL和ANSI标准

文章来源于SAS HELP PROC SQL 和ANSI SQL 的区别——图表和视图名称的作用域规则不同 例1:匹配数据集相关名称 当PROC SQL匹配数据集相关名称时,会依次进行3个步骤:1、有别名,用别名匹配;2、1匹配失败,在无…...

使用mysql_config_editor可以为特定的MySQL服务器或客户端程序设置登录路径

login_path 介绍 在 MySQL 中,login_path 通常不是 MySQL 服务器配置或 SQL 语句的一部分。但是,它经常与 MySQL 的命令行工具 mysql_config_editor 一起使用,这是一个允许用户安全地存储认证凭据(如用户名、密码和连接参数&…...

gridview的模板按钮如何判断用户点击的是哪一行

在asp.net的 GridView 控件中,判断用户点击的是哪一行通常可以通过处理 GridView 的 RowCommand 事件来实现。RowCommand 事件会在 GridView 的每个按钮(除非另有指定的CommandName)被点击时触发,并且事件参数中包含了足够的信息来…...

虚拟化 之三 详解 jailhouse(ARM 平台)的构建过程、配置及使用

嵌入式平台下,由于资源的限制,通常不具备通用性的 Linux 发行版,各大主流厂商都会提供自己的 Linux 发行版。这个发行版通常是基于某个 Linux 发行版构建系统来构建的,而不是全部手动构建,目前主流的 Linux 发行版构建系统是 Linux 基金会开发的 Yocto 构建系统。 基本环…...

数据安全:Web3时代的隐私保护新标准

随着数字化时代的到来,我们的生活已经完全依赖于互联网和数据交换。然而,随之而来的是对个人隐私和数据安全的日益关注。在这个信息爆炸的时代,数据泄露、个人隐私侵犯和网络攻击等问题日益突出,而Web3技术的崛起正带来了一种全新…...

STM32串口不定长接收空闲中断

目录 1. 开启串口空闲中断2. 合理开关中断3. 串口发送函数 1. 开启串口空闲中断 最近接触到的 Modbus RTU 项目使用到了串口接收中断和空闲中断。记录一下 初始化可以直接套用正点原子的初始化,只需要添加一行即可 USART_ITConfig(USART1, USART_IT_IDLE, ENABLE)…...

Ubuntu 设置开机启动脚本

在/etc/systemd/system/目录下创建对应的server服务 如:/etc/systemd/system/test-script.service [Unit] DescriptionTest Script Service Afternetwork.target[Service] Typeoneshot ExecStart/path/to/test-script.sh[Install] WantedBymulti-user.target替换/…...

C# Task 包含 await ConfigureAwait CancellationTokenSource

Task以下是 Task 类的一些关键特性和用法&#xff1a;以下是一些使用 Task 的示例&#xff1a;创建并启动一个任务使用 await 等待任务完成处理任务异常使用 Task<TResult> 获取结果取消任务总结 await暂停方法执行&#xff1a;非阻塞调用&#xff1a;任务结果获取&#…...

Python数据分析与建模库-02科学计算库Numpy01-05合集

1、该视频主要讲述了南派&#xff08;NumPy&#xff09;的核心操作和数据结构&#xff0c;以及如何使用NumPy库读取和处理数据。 2、该视频主要讲述了在编程中&#xff0c;如何对数组或矩阵中的元素进行判断和操作&#xff0c;以及在单排中如何进行类型转换。 3、该视频主要讲…...

【前端项目笔记】1 登录与登出功能实现

项目笔记 ☆☆代表面试常见题 前后端分离&#xff1a;后端负责写接口&#xff0c;前端负责调接口。 登录/退出功能 登录业务流程 登录页面&#xff1a;用户名密码 调用后台接口进行验证 通过验证&#xff0c;根据后台响应状态跳到项目主页 登录业务相关技术点&#xff1…...

是字符串定义以及在C语言中字符串是如何表示的

字符串&#xff08;String&#xff09;是由零个或多个字符&#xff08;包括空格&#xff09;组成的有限序列&#xff0c;常用于文本数据的存储和处理。在编程中&#xff0c;字符串是常见的数据类型。 在C语言中&#xff0c;字符串不是一种内置的数据类型&#xff0c;但C语言提…...

辽宁普通测径仪升级智能测径仪后都有哪些改进?

关键字: 普通测径仪, 智能测径仪, 测径仪升级, 测径仪特点, 智能测径仪优势, 目前多数厂家测径仪的数据处理方式是单片机计算出最终结果&#xff0c;然后传输到工控机后期处理。这样的电路系统对轧钢现场的高温、高粉尘和强电磁干扰的环境适应性很差&#xff0c;使得同一厂家、…...

【微信小程序】事件分类以及阻止事件冒泡

在微信小程序中&#xff0c;事件分为冒泡事件和非冒泡事件两大类&#xff0c;它们的区别在于事件是否能从原始触发组件开始&#xff0c;向父级组件传播&#xff08;即“冒泡”&#xff09;。 冒泡事件&#xff1a;当一个组件上的事件被触发后&#xff0c;不仅当前组件会接收到这…...

踩坑!被node-sass折磨的一天

文章目录 被node-sass折磨的一天折磨过程了解原因注意事项 被node-sass折磨的一天 折磨过程 起因是要开发一个老项目&#xff0c;照常拉代码、下依赖、启动三步走 依赖开始下载不对了&#xff0c;以为是node版本问题&#xff0c;寻找node-sass对应的node版本 利用nvm&#…...

量子行走:从理论到Python实现——6. 量子机器学习与前沿应用

量子机器学习探索了量子计算与人工智能的交叉领域&#xff0c;通过利用量子叠加与纠缠特性处理经典难以应对的高维数据模式。Berkeley CS269Q课程与PennyLane教程系统阐述了从量子特征映射到实际化学模拟的完整技术栈&#xff0c;本章将围绕特征空间扩展、优化求解与信息安全三…...

手把手教你用XCVU3P和FMC+接口搭建高性能PCIe载板(附原理图下载)

基于XCVU3P与FMC的高性能PCIe载板开发实战指南 在当今高速数据处理领域&#xff0c;FPGA因其并行计算能力和可重构特性成为关键器件。Xilinx UltraScale系列的XCVU3P芯片配合FMC扩展接口&#xff0c;为开发者提供了强大的硬件加速平台。本文将深入解析如何从零开始构建一个支持…...

计算机毕设 java 基于 Android 的医疗预约系统的设计与实现 SpringBoot 安卓智能医疗预约挂号平台 JavaAndroid 医患预约诊疗管理系统

计算机毕设 java 基于 Android 的医疗预约系统的设计与实现 53m069&#xff0c;末尾的数字和英文也要加上 &#xff08;配套有源码 程序 mysql 数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联 xi 可分享随着信息技术的飞速发展和医疗需求的…...

python基于微信小程序的直播带货商品数据分析系统的爬虫可视化

目录需求分析与系统架构设计微信小程序数据爬取方案数据存储与清洗数据分析与可视化系统集成与部署注意事项项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作需求分析与系统架构设计 明确系统目标为爬取微信小程序直播带货商品数…...

ffmpegGUI:让FFmpeg视频处理变得简单的跨平台桌面工具

ffmpegGUI&#xff1a;让FFmpeg视频处理变得简单的跨平台桌面工具 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI ffmpegGUI是一款基于FFmpeg的开源图形界面工具&#xff0c;它将命令行操作转化为直观的可视化交互&…...

APISIX Dashboard实战:从零配置JWT认证网关(含Node.js后端对接)

APISIX Dashboard实战&#xff1a;从零构建JWT认证网关与Node.js后端深度集成 引言&#xff1a;为什么选择APISIX作为API网关&#xff1f; 在现代微服务架构中&#xff0c;API网关扮演着流量调度和安全防护的双重角色。APISIX作为云原生API网关的佼佼者&#xff0c;凭借其动态…...

EVA-01场景应用:电商商品分析、文档信息提取,真实工作流分享

EVA-01场景应用&#xff1a;电商商品分析、文档信息提取&#xff0c;真实工作流分享 1. 从科幻到现实&#xff1a;EVA-01的商业价值 在电商运营和文档处理的日常工作中&#xff0c;我们常常面临这样的挑战&#xff1a;海量商品图片需要人工标注关键信息&#xff0c;繁杂的合同…...

反步法Backstepping在非线性系统自适应控制中的数学艺术

1. 反步法Backstepping的数学艺术 第一次接触反步法时&#xff0c;我被它精妙的数学构造深深吸引。这就像玩俄罗斯套娃&#xff0c;通过层层递进的方式&#xff0c;逐步构建出整个控制系统的稳定性。反步法的核心思想&#xff0c;是通过设计虚拟控制量&#xff0c;将复杂的非线…...

DeepSeek-R1-Distill-Qwen-7B创意写作展示:从诗歌到短篇小说

嗯&#xff0c;用户需要一篇关于DeepSeek-R1-Distill-Qwen-7B在创意写作方面效果展示的技术博客。根据标题和场景判断&#xff0c;这属于效果展示类文章&#xff0c;重点是通过实际案例展示模型在文学创作上的能力。 需要突出模型的创意写作效果&#xff0c;包括诗歌、微型小说…...

3步轻松读取Outlook邮件:免费跨平台MSG查看工具让你告别格式困扰

3步轻松读取Outlook邮件&#xff1a;免费跨平台MSG查看工具让你告别格式困扰 【免费下载链接】MsgViewer MsgViewer is email-viewer utility for .msg e-mail messages, implemented in pure Java. MsgViewer works on Windows/Linux/Mac Platforms. Also provides a java api…...