0

OfficeWriter を使用して、Excel ファイル内の特定のセル値をロックする必要があります。これは可能ですか?その場合、どの API 呼び出しを使用する必要がありますか?

4

1 に答える 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 に答える