2017-07-12 49 views
2

例子:如何防止OLEDB創建新的Excel文件時在連接字符串路徑不存在

public static DataTable dTable; 

    public bool openDBSheet(string sheet) 
    { 
     String str= 
      "Provider=Microsoft.ACE.OLEDB.12.0;" 
      + @"Data Source=D:\Item1.xlsx;" 
      +"Extended Properties='Excel 12.0 XML;HDR=Yes'"; 

     try 
     { 
      OleDbConnection conn = new OleDbConnection(str); 
      conn.Open(); 
      OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + sheet + "$]", conn); 
      dTable = new DataTable(); 
      adapter.Fill(dTable); 
      conn.Close(); 
     } 
     catch (Exception) 
     { 
      return false; 
     } 

     return true; 
    } 

真實的文件名是「Item.xlsx」但是當我改變路徑爲「d:\項目1。 XLSX;」 (不存在)程序創建一個名爲「Item1.xlsx」的新空文件。 任何人都可以請解釋我爲什麼以及如何解決它?

或者還有另一種更好的方法來驗證不存在使用OLEDB的Excel文件?

+2

使用'File.Exists' –

+0

謝謝,它的工作... – Giovanno

回答

0

您可以使用File.Exists()

if (!File.Exists(@"D:\Item1.xlsx")) 
    return; 
+0

感謝的,你幫了我這麼多... – Giovanno

相關問題