C# 停止生成输出文件的副本
我有一个应用程序,通过点击生成报告按钮,在所有材料的末尾生成报告。报告以Excel格式生成。问题是,每当我创建一个报表时,我都可以在同一位置创建另一个同名报表。它基本上覆盖了第一份报告 我想给用户一个框,说明您可以生成具有相同名称或名称已存在的报告,并选择其他名称C# 停止生成输出文件的副本,c#,winforms,excel,C#,Winforms,Excel,我有一个应用程序,通过点击生成报告按钮,在所有材料的末尾生成报告。报告以Excel格式生成。问题是,每当我创建一个报表时,我都可以在同一位置创建另一个同名报表。它基本上覆盖了第一份报告 我想给用户一个框,说明您可以生成具有相同名称或名称已存在的报告,并选择其他名称 谢谢你的帮助 保存文件前,检查同名文件是否已存在,如果已存在,请提供重命名文件。大概是这样的: if(File.Exists(proposedFileName)){ showDialog("file exists, please
谢谢你的帮助 保存文件前,检查同名文件是否已存在,如果已存在,请提供重命名文件。大概是这样的:
if(File.Exists(proposedFileName)){
showDialog("file exists, please choose other name");
}
在保存文件之前,请检查具有此名称的文件是否已存在,如果已存在,请提供重命名该文件。大概是这样的:
if(File.Exists(proposedFileName)){
showDialog("file exists, please choose other name");
}
在保存文件之前,您应该知道要将其保存为什么文件名。如果是,那么只需测试文件是否已经存在。如果是,则提示用户输入新名称并将其另存为新名称,例如
string filename = @"C:\File.txt";
if(File.Exists(filename)){
// Prompt for new one.
// save the report to the new name instead.
}else
{
// save to filename
}
在保存文件之前,您应该知道要将其保存为什么文件名。如果是,那么只需测试文件是否已经存在。如果是,则提示用户输入新名称并将其另存为新名称,例如
string filename = @"C:\File.txt";
if(File.Exists(filename)){
// Prompt for new one.
// save the report to the new name instead.
}else
{
// save to filename
}
在创建报告之前,您可以遍历现有文件,检查名称是否已经存在,并给出正确的错误消息
string newFileName = "new file";
string[] fileNames = Directory.GetFiles("path");
foreach (string file in fileNames)
{
if (file == newFileName)
{
MessageBox.Show("Error");
break;
}
}
在创建报告之前,您可以遍历现有文件,检查名称是否已经存在,并给出正确的错误消息
string newFileName = "new file";
string[] fileNames = Directory.GetFiles("path");
foreach (string file in fileNames)
{
if (file == newFileName)
{
MessageBox.Show("Error");
break;
}
}
我总是按照DarkXphenomenon的建议去做,在表单的文件名上附加一个mildate时间戳:
<filename>_YYMMDD_HHMMSS.ext
\u yymmd\u HHMMSS.ext
虽然这并不适用于所有情况,但它有很多优点:
我总是按照DarkXphenomenon的建议去做,在表单的文件名上附加一个mildate时间戳:
<filename>_YYMMDD_HHMMSS.ext
\u yymmd\u HHMMSS.ext
虽然这并不适用于所有情况,但它有很多优点:
为什么不将时间戳附加到文件名?为什么不将时间戳附加到文件名?File.Exists()为您这样做。File.Exists()为您这样做。