首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Excel将单元格视为受保护的单元格,即使它们不受保护?

为什么Excel将单元格视为受保护的单元格,即使它们不受保护?
EN

Stack Overflow用户
提问于 2016-12-13 12:55:20
回答 1查看 237关注 0票数 3

我提供了保护,也隐藏了工作表'MasterData‘,我在其中创建了一些命名范围,我在第二个工作表中使用了'customerAssets’。下面是代码片段:

代码语言:javascript
复制
    workbook.setSheetHidden(0,  true);  //to hides masterData
    workbook.setActiveSheet(1);          // sets active sheet as Customer Assets Sheet
    masterDataSheet.protectSheet("12345");  // protect MasterData sheet

但在打开excel之后:在这里输入图像描述

  1. 它不允许编辑表示受保护的“客户资产”表。
  2. 但是如果我打开"Sheet1“,然后打开”客户资产“,它就允许编辑。

它会有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-13 17:01:35

Excel或Calc中的工作表既可以是活动的,也可以是活动的(视图中位于您面前的工作表)和选定的工作表(可以作为一个组选择多个工作表)。

第一个创建的工作表将始终是活动的和选定的。因此,如果您的MasterData工作表是第一个创建的工作表,那么它是活动的和选中的。workbook.setActiveSheet更改活动状态,但不更改所选状态。因此您的MasterData工作表将保持选中状态。活动单元格中的更改将始终应用于所有选定的工作表。因此,您确实尝试更改受保护的单元格,因为也选择了受保护的MasterData表。

如果通过鼠标单击选择单个工作表,则所选内容将被更改,所选的工作表组将不再被选中。

我们至少需要取消选择MasterData表。但我们也应该选择另一张纸。

代码语言:javascript
复制
import java.io.*;

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

public class CreateSheets {

 public static void main(String[] args) throws Exception {
  Workbook workbook = new XSSFWorkbook();
  Sheet masterDataSheet = workbook.createSheet("MasterData"); //first sheeet will be both active and selected
  Sheet customerAssetsSheet = workbook.createSheet("Customer Assets");
  Sheet sheet1 = workbook.createSheet("Sheet1");

  workbook.setSheetHidden(0,  true);       //hide masterDataSheet
  masterDataSheet.setSelected(false);      //unselect masterDataSheet

  workbook.setActiveSheet(1);              //sets active sheet as Customer Assets Sheet
  //customerAssetsSheet.setSelected(true); //not necessary but recommended: set Customer Assets Sheet selected

  masterDataSheet.protectSheet("12345");   // protect MasterData sheet

  FileOutputStream fileOut = new FileOutputStream("CreateSheets.xlsx");
  workbook.write(fileOut);
  fileOut.close();
  workbook.close();
 }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41121676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档