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

时间:2018-01-23 15:25:29

标签: c# epplus

我需要将.xlsx生成的epplus保存到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。 此代码应将文件保存到桌面,但我有两个问题:

  • 该文件保存在我的应用程序的bin目录中
  • 我在dlg定义中指定了扩展名xlsx

是一个错误还是我做错了什么?

感谢您的关注。

1 个答案:

答案 0 :(得分:0)

您的代码只是初始化文件对话框。你需要调用" dlg.ShowDialog();"这将允许您选择初始文件夹以外的文件夹。确保单击“保存”按钮,如果单击“取消”,则不会使用路径修改初始化文件名​​。

如果您知道只想保存到桌面,则可以使用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");