使用 XSSF 可以实现以下目标:

将 CellStyle 设置为 setLocked false作为所有列的默认样式 . 这可以通过设置具有min col 1和max col 16384的 org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol 元素来设置该样式 .

然后通过为该行设置 CustomFormat true从该样式中取出第1行 . 因此它不会对所有列使用默认样式 . 附加设置 CellStyle ,其中 setLocked 为true,作为该行的默认样式 . 这可以通过从该行获取 org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow 元素并在那里设置 CustomFormat 和 S (样式)来实现 .

结果:除第1行外,所有单元格均已解锁 .

例:

import java.io.*;

import org.apache.poi.ss.usermodel.*;

import org.apache.poi.xssf.usermodel.*;

public class CreateExcelSheetProtectOnlyFirstRow {

public static void main(String[] args) throws Exception {

Workbook workbook = new XSSFWorkbook();

//create a CellStyle having setLocked false

CellStyle cellstyleUnprotect = workbook.createCellStyle();

cellstyleUnprotect.setLocked(false);

//create a CellStyle having setLocked true

CellStyle cellstyleProtect = workbook.createCellStyle();

cellstyleProtect.setLocked(true);

Sheet sheet = workbook.createSheet("Sheet1");

//set the CellStyle having setLocked false as the default style for all columns

org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol cTCol =

((XSSFSheet)sheet).getCTWorksheet().getColsArray(0).addNewCol();

cTCol.setMin(1);

cTCol.setMax(16384);

cTCol.setWidth(12.7109375);

cTCol.setStyle(cellstyleUnprotect.getIndex());

Row row = sheet.createRow(0);

//set CustomFormat true for that row

//so it does not using the default style for all columns

//and set the CellStyle having setLocked true as the default style for that row

org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow cTRow =

((XSSFRow)row).getCTRow();

cTRow.setCustomFormat(true);

cTRow.setS(cellstyleProtect.getIndex());

for (int c = 0; c < 3; c++) {

row.createCell(c).setCellValue("Header " + (c+1));

}

sheet.protectSheet("password"); // protect sheet

workbook.write(new FileOutputStream("CreateExcelSheetProtectOnlyFirstRow.xlsx"));

workbook.close();

}

}

java设置excel行不可编辑_Excel Headers 不可编辑的poi相关推荐

  1. 【poi第五节】poi设置Excel单元格边框 和 背景色,java设置Excel 单元格边框 和 背景色

    poi设置Excel单元格边框 和 背景色,java设置Excel 单元格边框 和 背景色 import org.apache.poi.hssf.usermodel.HSSFWorkbook; imp ...

  2. java设置excel单元格格式为百分比_Java 设置Excel条件格式示例代码(高亮条件值、应用单元格值/公式/数据条等类型)...

    概述 在Excel中,应用条件格式功能可以在很大程度上改进表格的设计和可读性,用户可以指定单个或者多个单元格区域应用一种或者多种条件格式.本篇文章,将通过Java程序示例介绍条件格式的设置方法,设置条 ...

  3. poi设置excel行高

    poi设置excel行高其实百度到处都是,不外乎就是 HSSFRow row = sheet.getRow(rowNum); row.setHeight(height); 但是有一个行高为0的行,如果 ...

  4. 如何通过VB合并Excel单元格以及设置Excel行高?VB创建Excel表格,合并单元格,生成图形等操作

    如何通过VB合并Excel单元格以及设置Excel行高? 例如:我想把第一列的第4,5,6,7行合并...我在怎样让合并单元格里的字居中,怎样改变字体. 请不吝赐教... ============== ...

  5. 【poi第七节】poi设置excel 设置字体格式,java设置excel设置字体格式

    poi设置excel 设置字体格式,java设置excel设置字体格式 import org.apache.poi.hssf.usermodel.HSSFRichTextString; import ...

  6. Java 设置Excel自适应行高、列宽

    在excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法.设置自适应时,可考虑2种情况: 1.固定数据,设置行高.列宽自适应数据(常见的设置自适应方法) 2.固定 ...

  7. java设置Excel单元格格式 POI

    POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:先获取工作薄对象:HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.cr ...

  8. fastadmin 数据导出,设置excel行高和限制图片大小

    起因是一个项目的图片导出到excel之后太大了,需要调整一下大小,这个fastadmin自带的前端导出就可以实现,但是也是比较复杂的,需要搞清楚图片的代码 在require-table.js这个文件里 ...

  9. java 设置excel颜色_Java 为 Excel 中的行设置交替背景色

    在制作 Excel表格 时, 通过 将 数据表中上下 相邻的两行用不同的背景色填充 ,可以使 各行的数据看起来更清楚 ,避免 看错行 ,同时也能增加 Excel 表 格的美观度 . 本文 将 介绍 如 ...

最新文章

  1. servlet设置session追踪模式
  2. mini-uboot 启动过程简单分析
  3. 学python推荐书籍-零基础学python推荐几本python学习的书籍
  4. linux 下基于jrtplib库的实时传送实现
  5. 快速搭建LNMP(1 )
  6. 收入和贷款有什么关系?
  7. AgileConfig 1.6.0 发布 - 支持服务注册与发现
  8. html5边框闪烁,HTML – CSS框阴影动画像素艺术闪烁
  9. 【Tensorflow深度学习】Tensorflow2.0GPU版极简安装
  10. 用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST
  11. C4D OC渲染器混合材质置换问题求助
  12. 高通骁龙845的android手机有哪些,骁龙845手机买什么好 目前6款最值得买的骁龙845手机推荐...
  13. windows7系统的时间服务器,win7系统搭建ntp服务器的操作方法
  14. Win7 系统还原被管理员禁用
  15. LEADER_NOT_AVAILABLE
  16. web渗透测试实战-SQLMAP
  17. 危化品企业双重预防机制数字化系统怎样建?
  18. 天兔(Lepus 3.8)数据库监控系统部署
  19. RL——Policy Gradient类方法
  20. 数组 ,String

热门文章

  1. okhttp 上传大文件失败
  2. Unity黑魂复刻经典教程心得(一)
  3. 《机器学习工程师》朴素贝叶斯
  4. 游戏开发入门(一)游戏开发概述
  5. 酷狗音乐插件如何申请?
  6. Apple TV开箱指南
  7. mysql储存过程是什么意思_数据库原理mysql储存过程
  8. 基于sift的医学图像配准算法matlab版
  9. MasterCAM安装问题集锦
  10. 博士师兄给我推荐了两门课