Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Opening an Excel file in C# using Process.Start

Tags:

c#

excel

winforms

I'm trying to open an excel file using a button click. And for some reason it's not working. I've tried several things. Any ideas why they are not working?

Method 1 I have tried. This opens the file manager but does not open the proper file. It is definitely using the proper path to the file and the file does exist

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);
}

Method 2. This just didn't open anything not sure why

System.Diagnostics.Process.Start(@"C:\Users\username\Documents\newTest.xlsx");
like image 931
Craig Gallagher Avatar asked Jan 04 '23 23:01

Craig Gallagher


1 Answers

Normally, Process.Start(@"C:\Users\username\Documents\newTest.xlsx"); would open your document in Excel.

However, you say in a comment that you are doing this from an Excel add-in which runs in the background. The solution needs to take this into account (the code sample assumes that you have a VSTO add-in, otherwise you need to adjust accordingly):

// make the running Excel instance visible
Globals.ThisAddIn.Application.Visible = true;

// open the workbook using Excel interop
Globals.ThisAddIn.Application.Workbooks.Open(fileName);
like image 145
Dirk Vollmar Avatar answered Jan 11 '23 22:01

Dirk Vollmar