如何使用 apache-POI 将 Excel 中的单元格设置为只读

2023-12-24

我有一个下拉列表包含一些选项,例如两个单元格。我需要的是关于所选选项,将其中一个单元格设置为可编辑,将另一个单元格设置为只读,反之亦然。

FileOutputStream fos;
try {
    fos = new FileOutputStream("D:\\POIXls.xls");
    Workbook workbook = new XSSFWorkbook();
    Sheet sheet = workbook.createSheet("new Sheet");
    DataValidationHelper dvHelper = sheet.getDataValidationHelper();
    DataValidationConstraint dvConstraint = 
                  dvHelper.createExplicitListConstraint(new String[] { "cell 1 edit","cell 2 edit"});
   CellRangeAddressList addressList = new CellRangeAddressList(0, 2, 0, 0);
   DataValidation validation = dvHelper.createValidation(dvConstraint, addressList);

   if (validation instanceof XSSFDataValidation) {
       validation.setSuppressDropDownArrow(true);
       validation.setShowErrorBox(true);
   } else {
       validation.setSuppressDropDownArrow(false);
   }

   sheet.addValidationData(validation);
   workbook.write(fos);
   fos.flush();
   fos.close();
}catch(Exception e){//catch code}

我需要知道如何使 xls 文件根据用户的选择使这些单元格可编辑/只读。 VB 代码也可能有帮助。


Get the cell你想要并设置你的单元格样式

CellStyle unlockedCellStyle = wb.createCellStyle();
unlockedCellStyle.setLocked(true); //true or false based on the cell.
cell.setCellStyle(unlockedCellStyle);

希望能帮助到你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 apache-POI 将 Excel 中的单元格设置为只读 的相关文章

  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • java.lang.Class: 在 java 程序中初始化 log4j 属性文件时出错

    我正在尝试使用 log4j 运行独立的 java 程序 但在调试时收到以下消息 控制台上没有 log4j 相关日志 log Logger 1343 java lang Class ERROR in 18b4aac2 有人可以建议这里出了什么
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 通过 InjectMocks Spy 注入对象

    我需要对一个类运行一系列单元测试 该类具有 Autowired Logger 实现 实现的基本思想是 Mock Logger logger InjectMocks TestedClass tested 但我想保存日志输出功能 Mockito
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • spring - 强制 @Autowired 字段的 cglib 代理

    我有混合堆栈 EJB 和 Spring 为了将 Spring 自动装配到 EJB 我使用SpringBeanAutowiringInterceptor 不确定这是否会影响我遇到的问题 在尝试通过以下方式自动装配 bean 时 Scope p
  • 使用 Guava 联合两个 ImmutableEnumSets

    我想联合两个ImmutableEnumSets来自番石榴 这是我的尝试 public final class OurColors public enum Colors RED GREEN BLUE YELLOW PINK BLACK pub
  • @EnableTransactionManagement 的范围是什么?

    我试图了解正确的放置位置 EnableTransactionManagement多个 JavaConfig 上下文的情况下的注释 考虑以下场景 我在 JPAConfig java 和 AppConfig java 中有 JPA 配置以及一组
  • VBA删除列中的单元格并根据单元格的值左移?

    如果单元格为空 如何删除 B 列 和左移 中的单元格 下面是我所拥有的 但它给出了 应用程序定义或对象定义的错误 Sub DeleteCellShiftLeft For i 1000 To 1 Step 1 If Cells i B Val
  • Java:VM 如何在 32 位处理器上处理 64 位“long”

    JVM 如何在 32 位处理器上处理 64 位的原始 long 在多核 32 位机器上可以并行利用多个核心吗 64 位操作在 32 位机器上慢了多少 它可能使用多个核心来运行不同的线程 但不会并行使用它们进行 64 位计算 64 位长基本上
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 在 Selenium WebDriver 上如何从 Span 标签获取文本

    在 Selenium Webdriver 上 如何从 span 标记检索文本并打印 我需要提取文本UPS Overnight Free HTML代码如下 div id customSelect 3 class select wrapper
  • ExceptionHandler 不适用于 Throwable

    我们的应用程序是基于 Spring MVC 的 REST 应用程序 我正在尝试使用 ExceptionHandler 注释来处理所有错误和异常 I have ExceptionHandler Throwable class public R
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • 如何移动图像(动画)?

    我正在尝试在 x 轴上移动船 还没有键盘 我如何将运动 动画与boat png而不是任何其他图像 public class Mama extends Applet implements Runnable int width height i
  • 如何将实例变量传递到 Quartz 作业中?

    我想知道如何在 Quartz 中外部传递实例变量 下面是我想写的伪代码 如何将 externalInstance 传递到此作业中 public class SimpleJob implements Job Override public v
  • Java中有类似分支/跳转表的东西吗?

    Java有类似分支表或跳转表的东西吗 分支表或跳转表是 根据维基百科 http en wikipedia org wiki Branch table 用于描述使用分支指令表将程序控制 分支 转移到程序的另一部分 或可能已动态加载的不同程序
  • 尝试使用带有有效购买令牌的 Java Google Play Developer API v3 检索应用内购买信息时出现错误请求(无效值)

    当使用 Java Google Play Developer API 版本 3 并请求有效购买令牌的购买信息时 我收到以下异常 API 调用返回 400 Bad Request 响应以及以下消息 code 400 errors domain

随机推荐

  • 如何在 .net 中以 4-2-2 格式保存高质量的 jpeg?

    当我使用 bitmap save 保存 jpg 文件时 当我指定编码器和质量时 它会保存为 jpeg 4 1 1 但当我不指定编码器和质量时 它会保存为 4 2 2 我想将其保存为 4 2 2 其质量比默认值更高 使用 bitmap sav
  • /usr/local/bin 和 /usr/local/share 的权限问题

    我在新的 MacBook 上使用 OS X Yosemite 刚刚安装了 Homebrew 和一些必需的软件包 最近搬到了这台新计算机 我注意到偶尔当我安装新的brew 软件包时出现链接错误 由于某种原因 权限 usr local bin
  • JS Cookie 设置在 2 个位置,不会覆盖第一个设置

    我在两个不同的页面上使用相同的脚本来设置相同的 cookie 我的假设是 即使两个页面的路径 略有不同 它们也会简单地覆盖 cookie 而不是复制其中的条目 我的第一页的路径是 example com classifieds busine
  • Java 内存使用情况

    我无法理解 Java 内存的使用情况 我有一个应用程序 其最大内存大小设置为 256M 然而 在某个时间点 我可以看到根据任务管理器 它占用了 700MB 不用说 当发生这种情况时 所有其余的应用程序都会有点反应迟钝 因为它们可能已被换出
  • 为什么这个 SVG 的宽度没有用 ng-attr-width 设置?

    我有一个非常简单的网页来尝试隔离我不理解的 ng 绑定 div div
  • 如何保存完整的网页

    有没有办法使用WebDriver保存完整的网页 目前我执行 getPageSource 然后将所有内容放入 html 本地文件中 但保存的页面形状不佳 奇怪的字符 没有图像 所有元素向下偏移 请参阅下面我使用的代码 Test public
  • 是否可以将我们的对称算法添加到 OpenSSL 中?

    我想将我的对称加密算法添加到 OpenSSL 中 并将其用作 SSL 协议中的对称算法 我需要使用测试它s client 所以我需要一种方式来表示 OpenSSL 将其用作对称算法 OpenSSL 使用 RSA 进行密钥交换阶段就足够了 我
  • 为动态创建的面板添加鼠标单击事件[重复]

    这个问题在这里已经有答案了 您好 我正在用 C 开发一个 Windows 窗体应用程序 我有一个 FlowLayoutPanel 里面有一个动态面板列表 如何为 FlowLayoutPanel 内的面板添加鼠标单击事件 谢谢这个 但是我可以
  • 在 SQL Server 2016 中将 JSON 转换为表

    我正在开发一个 Web 项目 其中客户端应用程序通过 JSON 与数据库进行通信 最初的实现是在 SQL Server 2012 中进行的 不支持 JSON 因此我们实现了一个处理解析的存储函数 现在我们正在转向 2016 支持 JSON
  • 解组时 JAXB 可以获得 XML 注释吗?

    我正在解析一个XML与 JAXB 但XML最后有一条评论 我想解析它来存储它 Xml
  • 完全独立于脚本运行命令[重复]

    这个问题在这里已经有答案了 我最近遇到了一些情况 我想完全独立地启动命令 并且在与脚本不同的进程中 相当于将其输入终端 或者更具体地说 将命令写入 sh 或 desktop 并双击它 我的要求是 我可以关闭 python 窗口而不关闭应用程
  • Eclipse 无法创建就地编辑器

    我有一个故障排除问题 我的 Eclipse 不希望在包编辑器中打开类 Error what i m having 但是 文件是通过 打开方式 gt 文本编辑器 打开的 这看起来有点像魅力 请帮助 我在我的中遇到了这个问题filename x
  • 允许用户使用 cefsharp 浏览器通过鼠标滚轮进行缩放

    我正在运行 cefsharp 75 我想使用 ctrl 键和鼠标滚轮打开缩放功能 我的事件处理程序从未被触发 如果按住 ctrl 并使用鼠标 屏幕将不会移动 所以控件内部有一些东西并处理事件 我只是缺少一个设置吗 我添加了鼠标和键盘缩放 在
  • Applescript 问题 - 将曲目添加到播放列表

    说实话 我什至都不好意思问这个问题 我有一个 Applescript 它应该构建一堆完整专辑的播放列表 除了将曲目实际添加到播放列表之外 一切正常 这是相关代码 repeat with theAlbum in randAlbums set
  • 动态表单,带或不带多部分/表单数据

    我正在用java设计一个简单的CRUD框架 在我的HTML页面中 我有一个动态表单 2个带有用于创建和更新文件上传的多部分 1个没有文件上传和用于删除的多部分 服务器端 请求调制器使用以下命令检查所有参数request getParamet
  • 合计投票结果

    我有一张选票 每个选民获得 3 票 从 10 名不同的候选人中进行选择 投票 1 得 3 分 投票 2 得 2 分 投票 3 得 1 分 我有以下 SQL 查询来计算每次投票获得的总分 因此投票 1 2 和 3 的结果是分开的 我需要做的是
  • time.Duration 类型微秒值到毫秒的转换

    我正在使用 go ping https github com sparrc go ping https github com sparrc go ping 用于非特权 ICMP ping 的 golang 库 timeout time Se
  • 使用 r 中的栅格包聚合季节平均值

    我正在尝试将每日数据 35 年 汇总到每月 然后使用 R 中的栅格包计算季节性平均值 我知道如何使用 CDO 执行此操作 下面是我的代码 它输出所有年份的 4 个季节平均值 140 层 我怎样才能循环输出仅 4 层 对于 4 个季节 我感谢
  • 错误:ggplot2 中的 stat_count()

    在我的许多程序中 我一直使用 ggplot2 来渲染图表 我已将它们加载到shinyapps io 上 并且它们工作得非常好 但是 当我尝试在我的机器上运行该程序时 出现以下错误 Error stat count must not be u
  • 如何使用 apache-POI 将 Excel 中的单元格设置为只读

    我有一个下拉列表包含一些选项 例如两个单元格 我需要的是关于所选选项 将其中一个单元格设置为可编辑 将另一个单元格设置为只读 反之亦然 FileOutputStream fos try fos new FileOutputStream D