Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t使用cmd打开excel文件_C# - Fatal编程技术网

C# Can';t使用cmd打开excel文件

C# Can';t使用cmd打开excel文件,c#,C#,我是C#编程新手,因此,如果我犯了初学者的错误,我很抱歉。 我正在尝试编写一个应用程序,当用户单击一个按钮时,它会打开OpenFileDialog,他必须选择一个“.xlsx”文件,程序应该在excel中打开这个文件。 这是我的密码: OpenFileDialog openfile = new OpenFileDialog(); openfile.Filter = ("Excel files |*.xlsx"); penfile.FilterIndex = 1; String file_name

我是C#编程新手,因此,如果我犯了初学者的错误,我很抱歉。 我正在尝试编写一个应用程序,当用户单击一个按钮时,它会打开OpenFileDialog,他必须选择一个“.xlsx”文件,程序应该在excel中打开这个文件。 这是我的密码:

OpenFileDialog openfile = new OpenFileDialog();
openfile.Filter = ("Excel files |*.xlsx");
penfile.FilterIndex = 1;
String file_name;
file_name = openfile.FileName;
if(openfile.ShowDialog() == DialogResult.OK)
{
    string cmd= "/C start excel.exe " + file_name;
    System.Diagnostics.Process.Start("CMD.exe", cmd);
}
问题是它只打开excel,而不打开文件


提前感谢。

当然,您应该在关闭对话框后阅读OpenFileDialog选择的文件,而不是在ShowDialog之前

...
if(openfile.ShowDialog() == DialogResult.OK)
{
   file_name = openfile.FileName;
   ....

要补充史蒂夫的答案:

你不需要额外的命令。这也将为您打开任何文件

if(openfile.ShowDialog() == DialogResult.OK)
{
    file_name = openfile.FileName;
    System.Diagnostics.Process.Start(file_name);
}

或者,如果要确保其为excel文件:

if(openfile.ShowDialog() == DialogResult.OK)
{
    file_name = openfile.FileName;

    if (file_name.ToUpper().Contains(".XLS")
        System.Diagnostics.Process.Start(file_name);
}

您是否检查了
文件名
的内容是否正确?是否收到错误消息?请在
ShowDialog()之后读取
openfile.FileName
。。。如果在
if()
block.use进程中设置断点,您会注意到文件名为空。请启动并使用“打开”动词。由于某些原因,您希望使用多层打开文件,请找出出现错误的步骤。旁注:
Process.Start(文件名)
可能足够了(假设它实际上是xls/xlsx)。这很有效,谢谢。很抱歉犯了这个错误。“任何文件”,只要它有一个默认程序。谢谢你的小费。