excel - 有没有办法锁定单个单元格(不是整个 Excel 工作表)以防止格式化?
问题描述
我通过执行以下代码来阻止用户在生成的 Excel 文件中格式化工作表中的单元格:
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("sheet1");
CTSheetProtection prot = sheet.getCTWorksheet().getSheetProtection();
prot.setFormatCells(true);
有没有办法锁定工作表中单个单元格的格式,而不是锁定整个工作表的格式?
同样,有没有办法将其他保护措施应用于单个单元格?
例如,过滤和排序——如果有人试图将这些操作应用于一组单元格,其中包括一个为该操作锁定的单元格,则将被禁止。
解决方案
在“设置单元格格式”对话框中,您可以切换锁定或隐藏单元格。当您从“审阅”选项卡中使用“保护工作表”时,您可以选择保护工作表和锁定单元格的内容,并选择您希望允许用户对锁定/解锁单元格执行的操作。密码保护工作表,未经您的许可,用户将无法解除锁定。
我假设您的大多数单元格都将被解锁,因此选择所有单元格并设置为解锁,然后锁定您想要锁定的单元格。
我不确定通过 VBA 执行此操作的代码,但它应该很容易找到。从逻辑上讲,您可能希望选择所有单元格,然后将 cells.format.protection.locked 设置为 false,然后选择要锁定的范围并将其设置为 true。您可以轻松录制宏来查找此代码。
推荐阅读
- reactjs - 有没有办法在反应组件上描述道具,以便用户可以更好地自动完成?
- laravel - nuxt nginx 设置中的单个 Laravel 端点
- c - C中的函数二等分方法-函数在任何一个区间内都不会改变符号
- amazon-web-services - 将数据从 API 端点拉入 AWS
- selenium - .NET:如何找出我的 Selenium ChromeDriver 构造函数超时的原因?
- git - 当 Pull Request 关闭并删除远程 @{push} 分支时清理本地分支
- javascript - 获取后无法使用反应挂钩(useState)查看状态输出
- blockly - 默认的块状块是什么?
- node.js - MongoDB查询以获取坐标内的对象
- javascript - React.useCallback:我是否需要在依赖项数组中传递函数以及依赖项?