繁体   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