获取文件夹路径
//选择文件夹路径
FolderBrowserDialog dialog = new FolderBrowserDialog();
//提示信息
dialog.Description = "请选择文件路径";
string Path = "";
if (dialog.ShowDialog() == DialogResult.OK)
{
Path = dialog.SelectedPath + @"\标本复查表.xlsx";
}
最终取到的是文件夹绝对路径的字符串Path,拿到后可以拼接以作他用。
获取文件路径
//选择文件路径
var ofd = new OpenFileDialog();
string path = string.Empty;
//筛选文件类型
ofd.Filter = "excel|*.xlsx";
if (ofd.ShowDialog() == DialogResult.OK)
{
path = ofd.FileName;
}
与获取文件路径一样,path拿到的是包含文件后缀的绝对路径字符串,其中Filter用于筛选文件类型,具体可以参考下面的文章。
文件保存对话框
string path = string.Empty;
SaveFileDialog sfd = new SaveFileDialog();
//默认显示名称
sfd.FileName = "标本复查表.xlsx";
//设置匹配文件格式,可包含多种
sfd.Filter = "Excel(*.xlsx)|*.xlsx";
if (sfd.ShowDialog() == DialogResult.OK)
{
path = sfd.FileName;
}
else
{
return;
}
保存对话框,path最终拿到的也是包含全文件名称绝对路径字符串,可以配合I/O操作文件,但是它可以直接在对话框中编辑文件名称,文件中存在名称冲突会出现提示是否覆盖的对话框。而且可以自定义提示对话框直接进行删除等操作,代码由下面给出。
string path = string.Empty;
SaveFileDialog sfd = new SaveFileDialog();
//取消自带提示框提示
sfd.OverwritePrompt = false;
sfd.FileName = "标本复查表.xlsx";
sfd.Filter = "Excel(*.xlsx)|*.xlsx";
//自定义提示框,点击保存弹出框的打开或者保存按钮触发
sfd.FileOk += (s, e) =>
{
if (File.Exists(sfd.FileName))
{
DialogResult ds = MessageBox.Show("文件已经存在,是否删除文件?", "提
示", MessageBoxButtons.OKCancel);
if (ds == DialogResult.OK)
{
File.Delete(sfd.FileName);
}
}
};
if (sfd.ShowDialog() == DialogResult.OK)
{
path = sfd.FileName;
}
else
{
return;
}
当选择文件,或者输入文件夹中存在的文件的时候,会弹出上面自定义的提示框,点击确定会删除文件,并保留删除文件的绝对路径,再根据绝对路径进行创建文件等操作,只能说是一种笨方法重写文件,文章仅为本人随笔而作,有什么错误或者不妥的地方,希望大家多多指正。