【发布时间】:2018-01-23 15:25:29
【问题描述】:
我需要将 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 丢失
这是一个错误还是我做错了什么?
感谢您的关注。
【问题讨论】:
-
无法复制。 FileDialog的显示和写入文件的调用之间有一些代码?
-
您在创建文件流时检查过“dlg.FileName”的值吗?另外-如果您单击取消按钮-那么“dlg.FileName”将是“FileName23-01-2018”而没有文件扩展名-因此将准确保存在您所说的位置和方式。您需要点击保存 - 即使对话框中的一切看起来都正常。
-
我假设您确实在某处调用了 dlg.ShowDialog()。