0

Apache POIを使用して保護されたシートを作成している場合、デフォルトですべてのセルが保護されます。各セルのロックを個別に解除する必要があります。デフォルトですべてのセルが保護されていないときにシートを保護することは可能ですか(必要なセルのみを保護するため)。

(使用されるコード)

/*for sheet protection*/
sheet.protected("password");
/*creating style to unlock cell */
CellStyle unlockedCellStyle = workbook.createCellStyle();
unlockedCellStyle.setLocked(false);

/*applying unlock style to cell */  
cell.setCellStyle(unlockedCellStyle);
4

3 に答える 3

0

作成したセルをデフォルトでロック解除することはできません。ロックがデフォルトです。しかし、CellStyleロックをfalseに設定して作成することで、正しい方向に進んでいます。ロックを解除するすべての新しいCellStyleオブジェクトで、lockedをfalseに設定していることを確認してください。さらに、Excelにはで作成できるセルスタイルの数に制限があるため、作成するたびにオブジェクトWorkbookを再利用してください。CellStyleCell

于 2013-02-26T17:45:08.810 に答える
0

apachePOIでデフォルトのセルスタイルを変更することが可能です。
セルで行った場合にセルの新しいセルスタイルを作成する代わりに、これによりデフォルトのセルスタイルが返され、これ に従ってgetCellStyle()編集できるようになります。

getCellStylenullを返すことはありません。新しいセルの場合は、デフォルトのセルスタイルを返します。

したがって、基本的にセルのデフォルトのセルスタイルを編集するgetCellStyleには、新しく作成したセルで行うか、これを試してくださいworkbook.getCellStyleAt(0)
詳細はこちらをご覧ください。

于 2016-05-01T03:17:31.247 に答える
0

XSSFCellStyle defaultCellStyle = wb.getCellStyleAt(0);デフォルトのセルスタイルを取得するために行うことができますdefaultCellStyle.setLocked(false);。これにより、ブックのデフォルトのセルスタイルがロック解除に変更されます。

于 2021-02-22T07:57:08.973 に答える