OfficeWriter を使用して、Excel ファイル内の特定のセル値をロックする必要があります。これは可能ですか?その場合、どの API 呼び出しを使用する必要がありますか?
1 に答える
3
OfficeWriter を使用してセルをロックすることは、Excel の場合と同じです。すべてのセルには、スタイルの一部として「ロックされた」プロパティがあります。locked プロパティはデフォルトでtrueに設定されていますが、ワークシートが保護されるまで有効になりません。
ExcelApplication xla = new ExcelApplication();
Workbook wb = xla.Create(ExcelApplication.FileFormat.Xlsx);
Worksheet ws = wb.Worksheets[0];
//Protecting the sheet will lock any cells
//that have the locked property set to true
ws.Protect("MyPassword");
特定のセルをロック解除したままにするには、locked プロパティをfalseに設定したスタイルを作成します。次に、ロックを解除したいセルにスタイルを適用します。
ExcelApplication xla = new ExcelApplication();
Workbook wb = xla.Create(ExcelApplication.FileFormat.Xlsx);
Worksheet ws = wb.Worksheets[0];
//Create the 'unlocked' style
Style unlockedStyle = wb.CreateStyle();
unlockedStyle.CellLocked = false;
//Apply to any cells you wish to leave unlocked
//when the worksheet is protected
ws.Cells["A1"].Style = unlockedStyle;
ws.Cells["B1"].Style = unlockedStyle;
//Protecting the sheet will lock any cells
//that have the locked property set to true
ws.Protect("MyPassword");
ドキュメントには、ワークシートの保護に関する追加の関連情報があります: http://wiki.softartisans.com/display/EW8/Protecting+Your+Worksheet
注、私は OfficeWriter のメーカーである SoftArtisans で働いています。
于 2013-10-18T12:20:27.713 に答える