C# 将excel文件保存在我以前打开过两个窗口的文件夹中

C# 将excel文件保存在我以前打开过两个窗口的文件夹中,c#,wpf,excel,xaml,C#,Wpf,Excel,Xaml,我在中打开了一个目录 窗口2: private void CreateFolder() { string path = @"C:\Users\ben\Desktop\מחקר"; string param = string.Format("{0} {1}, {2}", UserFirstName.Text.ToString(), UserLastName.Text.ToString(), UserDate.Text.ToString()); string finalPat

我在中打开了一个目录 窗口2:

private void CreateFolder()
{
    string path = @"C:\Users\ben\Desktop\מחקר";
    string param = string.Format("{0} {1}, {2}", UserFirstName.Text.ToString(), UserLastName.Text.ToString(), UserDate.Text.ToString());
    string finalPath = System.IO.Path.Combine(path, param);
    System.IO.Directory.CreateDirectory(finalPath);
    Userpath.Text = finalPath;
}
现在,在下一个窗口中,我创建了一个excel文件:

private void button3_Click(object sender, RoutedEventArgs e)
{
    oXL = new Microsoft.Office.Interop.Excel.Application();
    oXL.Visible = false;
    oWB = (Microsoft.Office.Interop.Excel._Workbook)                                                                     (oXL.Workbooks.Add("")); 
    oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;
    oSheet.Range["A1"].Value = "Type";
    oSheet.Range["B1"].Value = "Time";
    oSheet.get_Range("A1", "B1").Font.Bold = true;
    oSheet.get_Range("A1", "B1").VerticalAlignment =
    Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
    oWB.SaveAs(@"finalpath2.Text");
 }
finalpath 2与上一窗口中的finalpath路径相同。
目标是excel文件将保存在我在window2上打开的文件夹中。有人能帮我吗?

您需要将目录传递到第二个窗口,或者访问第二个窗口中的
UserPath
对象以获取文本

如果它们是两个不同的窗口,可以将包含目录路径的字符串参数作为参数传递给第二个窗口,然后在
oWB.SaveAs(filePath+@)/finalPath2.text)中使用该参数


另一个选项是,如果第二个窗口可以访问
UserPath
对象,则将其包括在save-as命令中,如

我无法将excel文件保存在我以前打开窗口的目录中。它只是将excel文件保存在名为“finalpath2.text”的默认目录中。此解决方案可帮助我将excel文件保存在主目录中,但我希望将其保存在上一个窗口中打开的辅助文件夹中。有什么建议吗?如果
finalPath 2
与第一个代码片段中的
finalPath
目录相同,那么为什么它在语音标记中以字符串形式传递?此外,除了
.text
之外,您没有其他文件扩展名。在它的末尾,这最多只能保存一个文本文件,而不是Excel文件。尝试将“另存为”函数更改为类似以下内容:
oWB.SaveAs(finalPath2+@“/MyFileName.xlsx”)使用
.xlsx
或类似工具为其指定Excel文件扩展名。不起作用lol。它将文件保存在路径中,而不是最终路径中。