在c#桌面应用程序中打开现有的excel文件
本文关键字:excel 文件 桌面 应用程序 | 更新日期: 2023-09-27 18:08:41
当用户按下我的c#桌面应用程序中的链接时,我试图显示一个现有的excel文件。我把我的excel文件放入我的项目文件夹。然而,当我将项目设置到不同的计算机时,excel文件的路径会发生变化。在打开excel文件时,我找不到与C:'example.xlsx等直接路径无关的方法。我该如何解决这个问题?由于已经. .
我建议使用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中获得对文件的控制。
希望这对你有帮助!