簡體   English   中英

使用Process.Start在C#中打開Excel文件

[英]Opening an Excel file in C# using Process.Start

我正在嘗試通過單擊按鈕打開Excel文件。 由於某種原因,它不起作用。 我已經嘗試了幾件事。 有什么想法為什么他們不起作用?

方法1我嘗試過。 這將打開文件管理器,但不會打開正確的文件。 絕對是使用了正確的文件路徑,並且該文件確實存在

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加載項執行此操作的。 解決方案需要考慮到這一點(代碼示例假定您具有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. 嘗試以管理員身份運行
  2. 檢查異常,start方法也應該返回布爾值,檢查以確保它是正確的。
  3. 確保您的xlsx文件與Excel關聯(在命令提示符下輕松檢查此文件,輸入文件名,然后按Enter鍵。如果excel打開,則效果很好)
  4. 檢查系統錯誤日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM