精华内容
下载资源
问答
  • 2021-02-28 19:23:22

    public static void WriteExcelByPoi(String fileData) throwsIOException,

    InvalidFormatException {try{

    InputStream in= newFileInputStream(fileData);

    Workbook workbook= newXSSFWorkbook(in);

    org.apache.poi.ss.usermodel.Sheet sheet= (org.apache.poi.ss.usermodel.Sheet)workbook.getSheetAt(1);

    sheet.protectSheet(""); //设置表单保护密码

    org.apache.poi.ss.usermodel.Row row= null;

    org.apache.poi.ss.usermodel.Cell cell= null;

    String cellValue= "132700002800";

    XSSFCellStyle alterableStyle= (XSSFCellStyle)workbook.createCellStyle(); //获取当前单元格的样式对象

    alterableStyle.setLocked(true); //设定此单元格为锁定状态

    XSSFCellStyle nolockedStyle = (XSSFCellStyle)workbook.createCellStyle(); //获取当前单元格的样式对象

    nolockedStyle.setLocked(false); //设定此单元格为非锁定状态

    String value= "非锁定";for (int i = 0; i < 5; i++) {

    System.out.println(" i =" +i);

    row=sheet.createRow(i);

    cell= row.createCell(0);

    cell.setCellValue(cellValue);

    cell.setCellStyle(alterableStyle);

    cell= row.createCell(1);

    cell.setCellValue(value);

    cell.setCellStyle(nolockedStyle);

    }

    in.close();

    FileOutputStream out= null;try{

    out= newFileOutputStream(fileData);

    workbook.write(out);

    }catch(IOException e) {

    e.printStackTrace();

    }finally{try{

    out.close();

    }catch(IOException e) {

    e.printStackTrace();

    }

    }

    }catch(FileNotFoundException e) {

    e.printStackTrace();

    }catch(IOException e) {

    e.printStackTrace();

    }

    }

    更多相关内容
  • 我们在使用Microsoft Office excel制作表格时,如果表格很长,而我们在拉动表格时,又想保持头行或头几行不动,这时我们就可以通过锁定表格的方法来解决了。、只想保持第行(即表头)不动1.打开Excel文件如下图2...

    1c7537085eaaf984a0ab63f96f0713ea.png

    我们在使用Microsoft Office excel制作表格时,如果表格很长,而我们在拉动表格时,又想保持头一行或头几行不动,这时我们就可以通过锁定表格的方法来解决了。

    一、只想保持第一行(即表头)不动

    1.打开Excel文件

    如下图

    fcd39c2ad5ccd24c4daa6a9ea763b9cf.png

    2.在菜单栏选择“视图”

    如下图

    1c4bb5caed19adf2b539ab2415ccee7b.png

    3.在视图栏选择“冻结窗口”项,如下图:

    a0433066fb0b86e673117409affef5a3.png

    4.在弹出的窗口里选取“冻结首行”项,即可将表格的第一行冻结,如下图:

    331221da7c582739d44bd9dd070417e0.png

    这时我们拉动表格旁的滑板往下拉时,表格的第一行会保存在画面里,如下图所示:

    b11f217a037b3f4574010a52d3aa81de.png

    注意,想取消锁定第一行时,只需按刚才的顺序,依次选择“视图”->“冻结窗口”,这时会看见原先的“冻结拆分窗格”已变成了“取消冻结窗格”,点击它就能消除对表格第一行的锁定,如下图所示:

    e2cf5fd3c191bb016894a9cdaa133f9d.png

    二、只想保持第一列不动

    方法和上面类似,打开新Excel文件后,在菜单栏依次选择“视图”->“冻结窗口”后,再选择“冻结首列”即可,见下图:

    90f15e4d02612086c6de8a8b04fdbe1c.png

    注意,想取消锁定第一列时,只需按刚才的顺序,依次选择“视图”->“冻结窗口”,这时会看见原先的“冻结拆分窗格”已变成了“取消冻结窗格”,点击它就能消除对表格第一列的锁定。

    三、若想保持多行、多列在表格滚动时不动该怎么处理?

    例如在Excel表格文件中,除了表格头部外,还有表格标题栏,如下图:

    ea36f8e45f590a9b5d61b3ae1e183b4a.png

    此时若想锁定上图所指的行和列,则需在打开Excel文件后,先将光标移至第3行的B列,如下图所示:

    0c537beb6c869d77249f9a7995171b7b.png

    再至菜单栏依次选择“视图”->“冻结窗口”->“冻结拆分窗口”即可,如下图所示:

    9c604e37b9841996f6c2d068e7bb7230.png

    点击“冻结拆分窗口”后,任意拖动滚动条,“标题栏”、“表头栏”和“序号”列始终保持显示,如下图所示:

    eea150e5b413cd1ef5ea47382e328e7c.png

    注意,若想取消对指定行列的锁定,只需按刚才的顺序,依次选择“视图”->“冻结窗口”,这时会看见原先的“冻结拆分窗格”已变成了“取消冻结窗格”,点击它就能消除对表格中指定行、列的锁定,如下图所示:

    64242422bfe706258b3c88b98d0e16ee.png

    介绍完毕

    d490bf0e60fd89723239e8a7cb7098a7.png

    展开全文
  • 如何锁定excel一列不允许修改编辑

    万次阅读 2020-06-24 17:38:23
    步:选择C:D两列。 第二步:右键——设置单元格格式。如图: 第三步:点击保护-去除锁定的√。如图: 第四步:点击确定后,点击审阅-保护工作表-输入密码。如图: 第五步:点击确定后,选择E2单元格。...

    举例说明:例如有表格如下:

    要求E列的公式不可修改的。

     

    第一步:选择C:D两列。

    第二步:右键——设置单元格格式。如图:

    第三步:点击保护-去除锁定的√。如图:

    第四步:点击确定后,点击审阅-保护工作表-输入密码。如图:

    第五步:点击确定后,选择E2单元格。按删除键,结果如图:

    第六步:选择C和D列,是可以修改的。但是E列是不能修改的。结果如图:

    展开全文
  • HSSF opi: excel中设置某列不可编辑

    千次阅读 2017-02-27 17:37:52
    HSSF opi: excel中设置某列不可编辑   原理: 使用保护工作表的方式:  excel中默认所有列都为选中状态,而保护工作表时保护的是锁定状态的。因此,要设置某列不可编辑的实现方式如下:  1)、将要设置为...
    HSSF opi: excel中设置某列不可编辑
     
    原理:
    使用保护工作表的方式:
      excel中默认所有列都为选中状态,而保护工作表时保护的是锁定状态的列。 因此,要设置某列不可编辑的实现方式如下:
      1)、将要设置为不可编辑的列的锁定状态改为未锁定。
      2)、保护工作表。

    代码:
    String filePath = physicalDeploymentPath+File.separator+"Excel"+File.separator+excelName+".xls";
                OutputStream os = new FileOutputStream(filePath);
                HSSFWorkbook book = new HSSFWorkbook();
                
                HSSFCellStyle cellStyle = book.createCellStyle();
            cellStyle.setAlignment(HSSFCellStyle. ALIGN_CENTER );
            cellStyle.setFillPattern(HSSFCellStyle. SOLID_FOREGROUND );
            cellStyle.setFillForegroundColor(( short ) 40);
                
                HSSFCellStyle canEditStyle = book.createCellStyle();
                canEditStyle.setLocked( false);   //设置列的锁定状态为未锁定
                 for (ExportExcel ee : lstExcel) {
                      HSSFSheet sheet = book.createSheet(ee.getCategory().getName());
                      HSSFRow row = sheet.createRow(0);
    //                row.setRowStyle(bStyle);
                       // 列头
                       for ( int i = 0; i < exportTitleNameList.size(); i++) {
                            row.createCell(i).setCellValue(exportTitleNameList.get(i).toString());
                      }
                       // 列宽
    //                for (int i = 0; i < exportTitleNameList.size(); i++) {
                      sheet.setColumnWidth(0, ( short ) ( 50 * 250 ) );
                      sheet.setColumnWidth(1, ( short ) ( 50 * 160 ) );
                      sheet.setColumnWidth(2, ( short ) ( 50 * 60 ) );
                      sheet.setColumnWidth(3, ( short ) ( 50 * 60 ) );
                      sheet.setColumnWidth(4, ( short ) ( 50 * 160 ) );
                      sheet.setColumnWidth(5, ( short ) ( 50 * 160 ) );
                      sheet.setColumnWidth(6, ( short ) ( 50 * 60 ) );
    //                }
                      
                      String[] list = new String[ee.getTypeLst().size()];
                       int x = 0;
                       for (EntityType et:ee.getTypeLst()){
                            list[x] = et.getSubType();
                            x++;
                      }
                      Map<String, String> stateNames = new HashMap<String, String>();
                      stateNames.put( "CHECKIN" , "检入" );
                      stateNames.put( "CHECKOUT" , "检出" );
                      stateNames.put( "RELEASE" , "发布" );
                       int j = ee.getLstDocs().size();
                       for ( int i = 0; i < j; i++) {
                            Document doc = ee.getLstDocs().get(i);
                            String state = "" ;
                            DocumentRevision docrev = doc.getCurrentRevision();
                             if ((doc.getState().name().equals( "EDIT" ) || doc.getState().name().equals( "RELEASE" )) && docrev.getStatus() != null ) {
                                  state = stateNames.get(docrev.getStatus().name());
                            } else {
                                  state = stateNames.get(doc.getState().name());
                            }
                            row = sheet.createRow(i+1);
                            row.createCell(0).setCellValue(doc.getName());
                            row.createCell(1).setCellValue(doc.getKeyword());
                            row.createCell(2).setCellValue(state);
                            row.createCell(3).setCellValue(doc.getDocumentType().getSubType());
                            row.createCell(4).setCellValue(doc.getOrganizationUnit());
                            row.createCell(5).setCellValue(doc.getCurrentRevision().getRemark());
                            row.createCell(6).setCellValue(doc.getCurrentRevision().getRevision());
                             //以下列可以编辑
                            row.getCell(1).setCellStyle(canEditStyle);
                            row.getCell(4).setCellStyle(canEditStyle);
                            row.getCell(5).setCellStyle(canEditStyle);
                      }
                      
                       //创建空的列和行,使可编辑
                       for ( int i=j;i<j+2000;i++){
                            row = sheet.createRow(i+1);
                            row.createCell(0);
                            row.createCell(1);
                            row.createCell(2);
                            row.createCell(3);
                            row.createCell(4);
                            row.createCell(5);
                            row.createCell(6);
                             //以下列可以编辑
                            row.getCell(1).setCellStyle(canEditStyle);   //将未锁定样式添加至要设置为不可编辑的列。
                            row.getCell(4).setCellStyle(canEditStyle);
                            row.getCell(5).setCellStyle(canEditStyle);
                      }
                      
                       // 生成下拉列表
                       //从第2行第5列开始,到第ee.getLstDocs().size()+1行第5列有效
                      CellRangeAddressList regions = new CellRangeAddressList(1,j+2000 , 3, 3); //ee.getLstDocs().size()
                      
                       // 生成下拉框内容
                      DVConstraint constraint = DVConstraint.createExplicitListConstraint(list);
                      
                       // 绑定下拉框和作用区域
                      HSSFDataValidation data_validation = new HSSFDataValidation(regions, constraint);
                      
                       // 对sheet页生效
                      sheet.addValidationData(data_validation);
                       //设置密码保护文档不可以编辑,括号内是密码
                      sheet.protectSheet(new Date().toString());    //保护工作表

    展开全文
  • 只有指定的指定内容允许修改,其它地方都不允许修改和新增, 如图下,只有红色框框内容允许修改,红色框框以外均不能修改 ,下面的空白的excel也不允许新增操作 只要你修改就会弹出下面的警告 解决代码 我是根据公司...
  • 首先全选,右键点击设置单元格格式-保护-把锁定和...选择要保护的几列-设置单元格格式-保护-锁定的勾都加上,意思就是给你选择的几列予以锁定,这样才能进行保护。然后进入工具里保护选项,选择保护工作表确定就可以了
  • 创建导出Excel工具类 package com.jlpt.utils; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss...
  • //-----------------------------------...//函数功能:设置某一个行列的颜色和写保护属性 //调用方式:f_set_color(dw_1,row,col) //保护整行:f_set_color(dw_1,row,0) //保护整列:f_set_color(dw_1,0,col) //---...
  • Python xlrd 模块编辑 Excle 表格——基础篇2 冻结窗口、设置加密保护、打印设置等 前言:1、设置冻结窗口2、sheet表 前言: 上篇博客对Python 的第三方模块 xlrd 对Excel表格的一些基础操作如:新建工作簿、增加...
  • 科研办公常用软件技巧 篇:(小数据时代)Excel中如何设置只能在指定区域输入内容,并且只能输入指定内容2019-03-07 10:40:051点赞10收藏0评论Excel作为个入门级工具,也是普通人随手拈来的个办公软件,日常生活...
  • 步:先选中整个工作表第二步:右键-设置单元格格式-保护-不勾选锁定第三步:选中需要保护的区域第四步:右键-设置单元格格式-保护-勾选锁定第五步:审阅-锁定单元格-设置密码,这时候A就被保护起来了第六步:...
  • 11.Access2010数据表一列,称为()

    千次阅读 2020-12-30 20:07:21
    【单选题】9.Excel2010,工作表是个()【填空题】110.在Word2010,同时按下Cthl和V按键的作用是()。【单选题】20.Word2010编辑文档时,正在输入的文字添加在()【单选题】43.Excel2010,如果单元格的数字格式数值...
  • excel中单元格输入内容怎么设置自动加上实线边框腾讯视频/爱奇艺/优酷/外卖 充值4折起Excel是我们常用的办公软件之,如果想要在单元格输入内容时,单元格的边框自动加上实线边框,该怎么办呢,下面小编介绍一下...
  • 两个问题:1、如果在保护Sheet的时候许可行插入POI目前的API只提供了sheet.protectSheet("password")还不支持实现许可个别动作的设置,不过你可以通过自己做个模板设置好Sheet后读入Clone为自己需要的Sheet即可。...
  • 1,打开excel表格,对需要锁定的部分单元格进行全选,然后点击鼠标右键,在弹出来的设置功能,选择“设置单元格格式”。(如下图)2,接着来到设置单元格格式下的“数字”属性,点击上面主菜单的“保护”功能...
  • 可以冻结一行或一列或多行和多列;可以冻结整个表。无论是冻结单元格还是冻结行,只要选择它们,方法都是相同的。如果只需要冻结单元格格式(即表结构),即不能再对单元格进行格式设置(包括固定的行高和列宽,不能...
  • 步:先选中整个工作表第二步:右键-设置单元格格式-保护-不勾选锁定第三步:选中需要保护的区域第四步:右键-设置单元格格式-保护-勾选锁定第五步:审阅-锁定单元格-设置密码,这时候A就被保护起来了第六步:...
  • Excel在日常工作的重要性,已无需赘言,然而,无论对于初学者和高级用户,在实际应用过程,仍不可避免地忽略了很多实用的技巧和窍门。文章梳理了30个常用小技巧,分享给大家参考尝试。1、不复制隐藏的单元格比如...
  • 函数作用:将工作表最后一列作为页脚打印在每一面页尾101 '102.函数作用:获取vbproject引用项目.................102 '103.函数作用:移除Excel工作表的外部数据连接.......103 '104.函数作用:将选择定单元格作成...
  • //autoSizeColumn()方法自动调整excel列宽importjava.io.FileOutputStream;importorg.apache.poi.hssf.usermodel.HSSFCell;importorg.apache.poi.hssf.usermodel.HSSFCellStyle;importorg.apache.poi.hssf.usermodel...
  • 在用EXCEL进行数据处理时,经常遇到需要合并某一列中连续出现的包含相同值得单元格的情况,以下图为例: A列中是一些保护区的名称,B列种是这些保护区的级别,发现B列只有国家级、省级、县级和拟建四个值,如果...
  • excel怎样锁住表头不可修改和填写excel表格表头步骤首先脑桌面,打开自己需要锁定表头的excel表格。(如下图)打开excel表格之后,需定的是第行的主标题和第二行的分类标题,那么要锁定之前,需要先把把鼠标点击第三...
  • 前言成堆的数据如何导入Excel进行分析?...使用的比较多的有:文档操作: 虽然大家都是操作 Excel,但即使最基本的新建文件、修改文件、保存文件等功能,在不同的库也存在差异。比如 xlsxwriter 并不...
  • 其中sheet名就是表名但无序,sheet内字段序号无序有空行现在要求将其中101,104,107,111表的格式和字段名称以及表名取出,生成批量语句,要求按给的编号有序输出,字段出要有序并排除窄。输出结果如下:insert...
  • 1、某一列 、某一行或某些单元格不可编辑,其他列可以编辑 二、期间遇到的问题 1、无法设置成不可编辑 2、设置为不可编辑,导出后发现所有单元格均不可编辑; 原因:createCell();创建单元格后,单元格默认是...
  • 打开菜上的“工具”-“保护”-许用户编辑区域”窗口,“新建”选项,点中“引用单元格”选项框最右边的小图标,选择允许编辑的范围点“确定”后再回到第个窗口,点“保护工作表”,要不要输入密码就随便你,保存...
  • 步骤2:选中所选区域或某列,ctrl+1→保护,下面的锁定勾上 步骤3:开始→工作表→保护工作表 步骤4:默认勾选前两个,可以设置密码,如果不设置密码,直接确定 现在编辑前两列,弹出警告,其他单元格则...
  • 在工作表 (工作表:在 Excel 中用于存储和处理数据的主要文档。也称为电子表格。工作表由排列成行或的单元格组成。工作表总是存储在工作簿...您可以在 Microsoft Office Excel 表格选择单元格和区域,就像在工...
  • 我用poi生成excel时先设置个表格保护(sheet.protectSheet("123")),然 后有在表生成过组合(sheet.groupRow(i+4,h+2);)这样的话这个生成的组合就用不了了,该怎么给这个组合按钮取消保护呢?![图片...
  • Excel基础操作

    2022-04-24 16:36:59
    Excel基本操作

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,100
精华内容 2,440
关键字:

如何设置保护excel中某一列