ファイルを保存するダイアログボックスを使用して、ファイルを保存する場所を取得しています。SaveFileDialogファイルの保存場所の保存C#winforms
private string GetSaveLocationFromUser(string filter)
{
string location = string.Empty;
using (SaveFileDialog sfd = new SaveFileDialog())
{
sfd.Filter = filter;
sfd.FilterIndex = 1;
sfd.RestoreDirectory = true;
sfd.InitialDirectory = GetFolderNameDefault();
sfd.FileName = GetFileDefaultName();
if (sfd.ShowDialog() == DialogResult.OK)
{
location = sfd.FileName;
}
}
return location;
}
これは私が実際にコードの後の私のファイルを保存するために行くときしかし、私はファイルが既に存在するため、ファイルを保存することができないという例外を取得しています、ファイルの場所を得ることに正常に動作します。
以下のコードは、選択した場所にExcelドキュメントを保存するためにClosedXMLを使用しています。
using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(data, ReportTitle);
wb.SaveAs(filename);
isSuccess = true;
}
ファイル名を1文字で変更すると、 test.xlsx - > test1.xlsxうまく動作します。これは、保存ファイルダイアログが選択されたときにそのファイルの場所にロックをかけていて、後でそのファイルに保存できないことを意味します。
どのような考えにも感謝します。
は、ファイルが...それを上書きするか、ファイルが存在するかどうかを確認するコードを書くために存在する場合、通常は示すことになる、.SaveAs'メソッドのオーバーロードをチェックし、boolean型パラメータがあるかどうかを確認します。 。その後、新しいファイルを作成して保存する前に削除してください。単純な修正.. – MethodMan
私はこれをもう一度やってみました。私はそのチェックをするとファイルが存在しないと言っています。私はちょうどとにかく削除しようとしたが、それは違いはありません。 – user3284707