如何将文件保存在特定文件夹中?
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
。
此代码应将文件保存到桌面,但我有两个问题:
- 文件保存在我的应用程序的bin目录下
- 当我在 dlg 定义中指定时,扩展名 xlsx 丢失了
这是错误还是我做错了什么?
感谢关注
您的代码只是初始化文件对话框。您需要调用 "dlg.ShowDialog();" 这会让您 select 一个不同于初始文件夹的文件夹。确保你点击了保存按钮,如果你点击取消你的初始化文件名将不会被路径修改。
如果您知道只想保存到桌面,您可以使用 Path.Combine 方法:https://msdn.microsoft.com/en-us/library/fyy7a5kt(v=vs.110).aspx
String FilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
"FileName" + DateTime.Now.ToString("dd-MM-yyyy") + ".xlsx");
我需要将 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
。
此代码应将文件保存到桌面,但我有两个问题:
- 文件保存在我的应用程序的bin目录下
- 当我在 dlg 定义中指定时,扩展名 xlsx 丢失了
这是错误还是我做错了什么?
感谢关注
您的代码只是初始化文件对话框。您需要调用 "dlg.ShowDialog();" 这会让您 select 一个不同于初始文件夹的文件夹。确保你点击了保存按钮,如果你点击取消你的初始化文件名将不会被路径修改。
如果您知道只想保存到桌面,您可以使用 Path.Combine 方法:https://msdn.microsoft.com/en-us/library/fyy7a5kt(v=vs.110).aspx
String FilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
"FileName" + DateTime.Now.ToString("dd-MM-yyyy") + ".xlsx");