C#/ ASP.NET Webサイトでは、SpreadsheetGearを使用してテンプレートからファイルを開き、ユーザーの入力に基づいてファイルを変更し、新しい場所に保存します。保存後に新しく作成したファイルを手動で開こうとすると、編集のためにファイルがロックされているというSpreadsheetGearというメッセージが表示されます。私は非表示に考えることができる唯一のことはしても多少トリッキーであるセクションでは、列を削除し、左に他の列をシフトされた「ワークシートに記入し」Spreadsheetgearはファイルのロックを維持します
SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(pathToTemplate);
workbook.WorkbookSet.GetLock();
SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["sheetName"];
SpreadsheetGear.IRange cells = worksheet.Cells;
//fill in worksheet
...
workbook.SaveAs(pathToGeneratedFiles + exportFileName, SpreadsheetGear.FileFormat.XLS97);
workbook.WorkbookSet.ReleaseLock();
worksheet = null;
workbook.Close();
workbook = null;
:ここ
は、下のコードスニペットです。
どのような考えですか?ありがとう。
「SpreadsheetGearが編集用にロックされたファイルを持っています」というエラーは、Microsoft Excelの場合のように聞こえます。 SpreadsheetGearは、Excelのように開いて編集している間はファイルをロックしません。通常、ディスクからファイルを読み書きするのに必要な時間だけファイルを「ロック」します。あなたが受け取ったエラーの正確な言葉は何ですか? –
@Tim、 "は、 'SpreadsheetGear for .NET 1.6.0.122'によって編集のためにロックされています。そして、標準の読み取り専用、通知およびキャンセルのオプションが与えられます。他の誰かがファイルを開いていれば、私が得るエラーのように見えます。 –