VB
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim filePath As String = "C:\Book1.xlsx"
Dim connString As String = String.Empty
If filePath.EndsWith(".xlsx") Then
'2007 Format
connString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=No'", filePath)
Else
'2003 Format
connString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=No'", filePath)
End If
'Get the Sheets in Excel WorkBook
Dim connExcel As New OleDbConnection(connString)
Dim cmdExcel As New OleDbCommand()
Dim oda As New OleDbDataAdapter()
cmdExcel.Connection = connExcel
connExcel.Open()
cmbSheets.DataSource = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
cmbSheets.DisplayMember = "TABLE_NAME"
cmbSheets.ValueMember = "TABLE_NAME"
connExcel.Close()
End Sub
C#
private void Form1_Load(object sender, EventArgs e)
{
string filePath = "C:\\Book1.xlsx";
string connString = string.Empty;
if (filePath.EndsWith(".xlsx"))
{
//2007 Format
connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=No'", filePath);
}
else
{
//2003 Format
connString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=No'", filePath);
}
//Get the Sheets in Excel WorkBook
OleDbConnection connExcel = new OleDbConnection(connString);
OleDbCommand cmdExcel = new OleDbCommand();
OleDbDataAdapter oda = new OleDbDataAdapter();
cmdExcel.Connection = connExcel;
connExcel.Open();
cmbSheets.DataSource = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
cmbSheets.DisplayMember = "TABLE_NAME";
cmbSheets.ValueMember = "TABLE_NAME";
connExcel.Close();
}