C#获取Excel里sheet名,其表内容

时间:2021-10-26 09:25:26
  • public static DataTable GetExcelTable(string excelFilename)  
  • {  
  •     string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Jet OLEDB:Engine Type=35;Extended Properties=Excel 8.0;Persist Security Info=False",excelFilename);  
  •     DataSet ds = new DataSet();  
  •     string tableName;  
  •     using (System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection(connectionString))  
  •     {  
  •         connection.Open();  
  •         DataTable table = connection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);  
  •         tableName = table.Rows[0]["Table_Name"].ToString();  
  •         string strExcel = "select * from " + "[" + tableName + "]";  
  •         OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, connectionString);  
  •         adapter.Fill(ds, tableName);  
  •         connection.Close();  
  •     }  
  •     return ds.Tables[tableName];  
  • }
  •   //VB Code
  •     Dim connectionString As String ' Used to store the connection string

        Dim customerList As New DataSet ' Used to store the temp records readed from the Excel file

        Dim excelData As OleDb.OleDbDataAdapter

     

        connectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=YES"";", fileName)

        excelData = New OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString)

        excelData.TableMappings.Add("Sheet1", "ImportCustomer")

    excelData.Fill(customerList)