Apache POI를 사용하여 Excel에서 단일 열 잠금
특정 열만 잠그고(읽기 전용) 나머지는 편집 가능한 Excel을 만들고 싶습니다.
저는 다음과 같은 방법을 사용하고 있지만, 그것이 효과가 없는 것 같습니다.
하나는 setLocked(true)이고 다른 하나는 setLocked(false)인 두 개의 CellStyle을 만듭니다.
그런 다음 잠금이 필요한 열의 모든 셀에 잠금 스타일을 적용하고 다른 모든 셀에 잠금 해제 스타일을 적용합니다.
sheet.protect를 사용하여 시트를 보호합니다.시트(""");
그러나 오픈 오피스에서 생성된 Excel을 열면 모든 셀이 잠겨 있다는 것을 알 수 있습니다!
편집할 수 있는 항목이 없습니다.
위의 요구 사항을 달성하려면 어떻게 해야 합니까?
추신: 저는 데이터 검증 접근법을 사용할 수 없습니다.
반대로 하면 효과가 있습니다.전체 시트를 보호하고 전화합니다.setLocked(false)
편집 가능해야 하는 셀의 경우.
String file = "c:\\poitest.xlsx";
FileOutputStream outputStream = new FileOutputStream(file);
Workbook wb = new XSSFWorkbook();
CellStyle unlockedCellStyle = wb.createCellStyle();
unlockedCellStyle.setLocked(false);
Sheet sheet = wb.createSheet();
sheet.protectSheet("password");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("TEST");
cell.setCellStyle(unlockedCellStyle);
wb.write(outputStream);
outputStream.close();
언급URL : https://stackoverflow.com/questions/8397169/lock-single-column-in-excel-using-apache-poi
'programing' 카테고리의 다른 글
파이썬의 사이트 패키지 디렉터리는 무엇입니까? (0) | 2023.06.28 |
---|---|
Mongoose findOneAndUpdateUspert _id null? (0) | 2023.06.28 |
추가되지 않은 특정 행 인덱스에서 데이터 프레임에 새 행을 추가하시겠습니까? (0) | 2023.06.28 |
mysqdump와 일관된 InnoDB 덤프 (0) | 2023.06.28 |
HATEOAS 메서드를 찾을 수 없습니다. (0) | 2023.06.28 |