C# 将excel文件保存在我以前打开过两个窗口的文件夹中
我在中打开了一个目录 窗口2: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
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。它将文件保存在路径中,而不是最终路径中。