在c#桌面应用程序中打开现有的excel文件

本文关键字:excel 文件 桌面 应用程序 | 更新日期: 2023-09-27 18:08:41

当用户按下我的c#桌面应用程序中的链接时,我试图显示一个现有的excel文件。我把我的excel文件放入我的项目文件夹。然而,当我将项目设置到不同的计算机时,excel文件的路径会发生变化。在打开excel文件时,我找不到与C:'example.xlsx等直接路径无关的方法。我该如何解决这个问题?由于已经. .

在c#桌面应用程序中打开现有的excel文件

我建议使用System.IO.Path.GetTempFileName()并将Excel文件复制到临时文件中。

使用应用程序。StartupPath财产。

如果这些文件存储在您的应用程序文件夹中,请尝试使用:

string excelFilePath = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "excelfiles''myexcelfile.xlsx");

否则,如果您有预定义的文件集,则需要设置文件存储的位置。

如果您只需要允许用户指定文件存储的位置-使用OpenFileDialog .

两件事:

如果你不介意MS GUI实现,尝试OpenFileDialog让你的用户(如果合适的话)选择正确的文件:

var openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:''";
openFileDialog1.Filter = "xlsx files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 1;
openFileDialog1.RestoreDirectory = true;

编辑:然后使用openFileDialog1.Filename获取文件名。

如果文件总是在相同的关系目录中,则使用相对路径名:

StreamReader reader = new StreamReader("..'''folder''''file'");

我发现这两种方法中的一种总是有效的;这取决于我是否希望用户选择文件。

编辑:有了文件名后,如果需要,可以使用Microsoft.Office.Interop.Excel名称空间在excel中获得对文件的控制。

希望这对你有帮助!