2017-07-05 120 views
0

我可以選擇一個Excel文件,但是在點擊打開後,excel文件不會出現。我該怎麼辦?我對OpenFileDialog還是一個新東西,如果有人能說出我應該添加什麼來使excel文件在點擊打開後出現,那將是一件好事。在C#窗口中使用OpenFileDialog打開Excel文件

http://www.c-sharpcorner.com/uploadfile/mahesh/openfiledialog-in-c-sharp/

修改這是我的代碼:

private void BrowseButton_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog openFileDialog1 = new OpenFileDialog(); 

     openFileDialog1.InitialDirectory = @"C:\"; 
     openFileDialog1.Title = "Browse Text Files"; 

     openFileDialog1.CheckFileExists = true; 
     openFileDialog1.CheckPathExists = true; 

     openFileDialog1.DefaultExt = "txt"; 
     openFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; 
     openFileDialog1.FilterIndex = 2; 
     openFileDialog1.RestoreDirectory = true; 

     openFileDialog1.ReadOnlyChecked = true; 
     openFileDialog1.ShowReadOnly = true; 

     if (openFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      string file = openFileDialog1.FileName; 
      try 
      { 
       string text = File.ReadAllText(file); 
       int size = text.Length; 
      } 
      catch (IOException) 
      { 
      } 

     } 
    } 


public bool ThumbnailCallback() 
    { 
    return false; 
    } 

    private void openFileDialog1_FileOk(object sender, CancelEventArgs e) 
    { 

    } 

我點擊打開後,只有文件名出現,但不是Excel文件 - https://i.stack.imgur.com/GXToy.jpg

+0

你是什麼意思*「讓excel文件出現」*?您是否想要打開Microsoft Excel應用程序以打開選定的工作簿?在這種情況下,您需要添加一些代碼來實際打開(「執行」)文件,因爲「OpenFileDialog」僅用於選擇文件(基本上,您對所選文件的操作取決於您和您的C#碼)。 – bassfader

+0

是的,我想在選擇要打開的工作簿後打開Microsoft Excel應用程序。你能給我一個如何執行excel文件的代碼示例嗎? – prestan

+0

有一箇舊帖子,FYR https://stackoverflow.com/questions/464902/how-to-open-an-excel-file-in-c –

回答

1

您需要設置篩選以選擇excel文件。

openFileDialog1.Filter = "Excel Worksheets|*.xls"; 

您可以參考文檔here

+0

我的意思是,在我選擇excel文件後,我需要它會在我點擊打開後彈出。我想要編碼打開excel文件。可能嗎? – prestan

0

如果你只是想打開使用關聯到*.xlsx文件(通常是MS Excel中在安裝時)的默認應用程序,那麼你可以簡單地使用Process.Start(string) method Excel文件。在你的情況下,它可能看起來像這樣:

if (openFileDialog1.ShowDialog() == DialogResult.OK) 
    { 
     Process.Start(openFileDialog1.FileName); 
    } 
相關問題