我一直在编写保存名称/位置的硬编码,但现在我需要询问用户保存位置和文件名。我有这样的语法,但我怎么实际上通过选择的位置&输入文件名到我的ToExcel()
方法知道文件名并保存位置?从SaveFileDialog传递文件名和位置到变量
private void btnSave_Click(object sender, EventArgs e)
{
//Creating Save File Dialog
SaveFileDialog save = new SaveFileDialog();
//Showing the dialog
save.ShowDialog();
//Setting default directory
save.InitialDirectory = @"C:\";
save.RestoreDirectory = true;
//Setting title
save.Title = "Select save location and input file name";
//filtering to only show .xml files in the directory
save.DefaultExt = "xml";
//Write Data To Excel
ToExcel();
}
private void ToExcel()
{
var file = new FileInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Test_" + DateTime.Now.ToString("M-dd-yyyy-HH.mm.ss") + ".xlsx"));
using (var package = new ExcelPackage(file))
{
ExcelWorksheet ws = package.Workbook.Worksheets.Add("Test");
ws.Cells[1, 1].Value = "One";
ws.Cells["A1:C1"].Style.Font.Bold = true;
package.Save();
MessageBox.Show("Saved!");
}
}
您应该使用OpenFileDialog来选择现有文件,Save用于创建不存在的文件,FolderBrowserDialog用于选择文件夹 – MikeT
也可以说'//过滤只显示目录中的.xml文件这不是正确的过滤你将使用此代码'openFileDialog1.Filter =“txt文件(* .txt)| * .txt |所有文件(*。*)| *。*”;'DefaultExt用于确定使用什么扩展名if没有指定 – MikeT