如何将文件保存在特定文件夹中?

How to save file in a specific folder?

我需要将 epplus 生成的 .xlsx 保存到 Desktop,所以我做了:

 var dlg = new SaveFileDialog
        {
           FileName = "FileName" + DateTime.Now.ToString("dd-MM-yyyy"),
           DefaultExt = ".xlsx",
           Filter = "Excel Sheet (.xlsx)|*.xlsx", 
           RestoreDirectory = true,
           InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
        };

然后:

using (FileStream fs = new FileStream(dlg.FileName, FileMode.Create))
{
       package.SaveAs(fs);
}

其中 package 是 epplus 的 ExcelPackage package。 此代码应将文件保存到桌面,但我有两个问题:

这是错误还是我做错了什么?

感谢关注

您的代码只是初始化文件对话框。您需要调用 "dlg.ShowDialog();" 这会让您 select 一个不同于初始文件夹的文件夹。确保你点击了保存按钮,如果你点击取消你的初始化文件名​​将不会被路径修改。

如果您知道只想保存到桌面,您可以使用 Path.Combine 方法:https://msdn.microsoft.com/en-us/library/fyy7a5kt(v=vs.110).aspx

String FilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFo‌​lder.Desktop),
    "FileName" + DateTime.Now.ToString("dd-MM-yyyy") + ".xlsx");