[英]issue with SaveFileDialog winforms
這是我的代碼:
SaveFileDialog sd = new SaveFileDialog();
sd.Title = "Select Excel Sheet to Export or Create New !";
sd.Filter = "Excel files (*.xls)|*.xls";
sd.FilterIndex = 0;
sd.ShowDialog();
if (sd.FileName != null)
{
AddWorksheetToExcelWorkbook(sd.FileName);
}
這是一個簡單的10行代碼,我已經使用了很長一段時間從來沒有任何問題,但最近我使用這個但我得到錯誤,當我需要寫入文件如下:
文件名..無法找到。 檢查文件名的拼寫,並驗證文件位置是否正確。
請參閱下面的圖片,我們做什么,寫文件名並單擊保存按鈕,如果我正在創建一個新文件而不是我選擇現有文件時,我只會收到錯誤。
為什么會發生這種情況我已多次使用此代碼,我也看到文件夾上沒有創建文件我保存它為什么SaveFileDialog
沒有保存文件我錯過了什么?
更新:
如果我只在我寫名字並按保存時選擇已存在的文件問題,工作正常。
您需要調用OpenFile方法才能創建或覆蓋該文件。
if (!String.IsNullOrEmpty(sd.FileName))
{
using(var fileStream = sd.OpenFile())
{
//you can use the stream if you need it (otherwise just close it)
}
AddWorksheetToExcelWorkbook(sd.FileName);
}
來自MSDN頁面的注意事項
出於安全考慮,此方法使用所選名稱創建一個新文件,並使用讀/寫權限打開它。 如果選擇要保存的現有文件,這可能會導致無意中丟失數據。 要在保留現有數據的同時將數據保存到現有文件,請使用File類使用FileName屬性中返回的文件名打開文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.