簡體   English   中英

Apache POI-Excel寫入-鎖定單個單元格

[英]Apache POI - Excel Write - Lock Single Cell

我正在使用Apache POI生成Exccel Templete,我的客戶可以下載,添加值並上傳回來。

我想將單元格值設置為不可編輯,以便無法編輯模板頭。

我嘗試了這段代碼,但是它不起作用,

    cell.getCellStyle().setLocked(true)

我還閱讀了鎖定excel工作表然后允許將列設置為setlocked(false)的方法,但是我不確定客戶端將填充多少列,所以我想除我填充的列以外的所有其他列都進行編輯Apache POI動態地進行。

希望我的查詢清楚易懂。

請嘗試以下代碼,它可能會解決您的問題:

HSSFWorkbook workbook = new XSSFWorkbook(); 

// Cell styles. Note the setLocked(true) method call. 
HSSFCellStyle lockedNumericStyle = workbook.createCellStyle(); 
lockedNumericStyle.setAlignment(XSSFCellStyle.ALIGN_RIGHT); 
lockedNumericStyle.setLocked(true); 

HSSFSheet sheet = workbook.createSheet("Protection Test"); 
HSSFRow row = sheet.createRow(0); 
HSSFCell cell = row.createCell(0); 
cell.setCellValue(100); 
cell.setCellStyle(lockedNumericStyle); 

// This line should cause all locked cells to be protected, 
// the user should not be able to change the cells 
// contents. 
sheet.protectSheet("password"); 

The password makes it possible to remove the protection from the sheet and makes it possible then for the locked cells to be modified. 

我不記得這樣做的效果如何-例如,我認為客戶端可以使用菜單取消保護工作表-但您確實需要通過Sheet.protectSheet("")類的Sheet.protectSheet("")保護工作表(無需輸入密碼,但仍然是受保護的表。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM