2017-07-12 19 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

相关问题