2013-12-12 44 views
11

私はエクセルエクスポートにEPPlusを使用しています。それで、私はイメージをロックしました。いくつかの値をセルに挿入する前に、シートデータやセルの保護を解除しています。EPPlusを使用してイメージ(または画像)をロックするか、イメージ(または画像)を取得する

プロテクトが解除された後、値を挿入してそのセルをロックし、保護を適用しました。データを持つセルはロックされています。しかし、イメージはロックされていません。

今私は2つの解決策しか持っていません。

  1. イメージ(または画像)を保持する方法はシートにロックされています。
  2. イメージ(または画像)をExcelから取得し、その画像を埋め込みとして挿入する方法。

どうすればよいですか?ここで私のコードを与えました。

// If worksheet has protection already, then need to unprotect 
        if (workSheet.Protection.IsProtected) 
         workSheet.Protection.IsProtected = false; 
        else 
         workSheet.Cells.Style.Locked = false; 


workSheet.Cells[rowIndex, columnIndex].value="Test"; 
workSheet.Cells[rowIndex, columnIndex].Style.Locked=true; 

// Protect the sheet after cells locked 
        workSheet.Protection.IsProtected = true; 
        workSheet.Protection.SetPassword(BasReportPassword); 
        workSheet.Protection.AllowSelectLockedCells = true; 
        workSheet.Protection.AllowSelectUnlockedCells = true; 
        excelPackage.Save(); 

答えて

1

既に保護されているシートの場合、シートを保護されていないものとする必要はありません。シートを保護された状態のままにして、新しく作成したセルをロックします。その後、それは動作します。私たちがExcelシートで手作業で行うのと同じように、それは続きません。

次のコードを削除します。その後、それは動作します。

if (workSheet.Protection.IsProtected) 
      workSheet.Protection.IsProtected = false; 

私はチェックしました。これを試してください。

関連する問題