使用Process.Start打开C#中的Excel文件

我试图用button单击打开一个Excel文件。 由于某种原因,它不工作。 我已经尝试了几件事情。 任何想法,为什么他们不工作?

方法1我试过了。 这将打开文件pipe理器,但不打开正确的文件。 这肯定是使用适当的文件path,文件确实存在

private string fileCopy; public RepairResultsControl() { InitializeComponent(); } public void Show(PSRepair.AnalysisResults analysis, string pathNameCopy) { fileCopy = pathNameCopy; Show(); } private void btnGoToFile_Click(object sender, EventArgs e) { Process.Start("explorer.exe", "/select,"+ fileCopy); } 

方法2.这只是没有打开任何不知道为什么

 System.Diagnostics.Process.Start(@"C:\Users\username\Documents\newTest.xlsx"); 

通常, Process.Start(@"C:\Users\username\Documents\newTest.xlsx"); 将在Excel中打开您的文档。

但是,您在评论中说,您正在使用在后台运行的Excel加载项来执行此操作。 解决scheme需要考虑到这一点(代码示例假定您有一个VSTO加载项,否则您需要相应地进行调整):

 // make the running Excel instance visible Globals.ThisAddIn.Application.Visible = true; // open the workbook using Excel interop Globals.ThisAddIn.Application.Workbooks.Open(fileName); 
  1. 尝试以pipe理员身份运行
  2. 检查exception,也是启动方法应该返回一个布尔,检查,以确保它是真实的。
  3. 确保您的xlsx文件与Excel相关联(容易检查这是在命令提示符下,键入您的文件名,然后按回车…如果Excel打开,您是好的)
  4. 检查你的系统错误日志。