C# 通过选择路径导入excel
1,按钮代码
DataTableCollection tableCollection; private void btnBrowse_Click(object sender, EventArgs e) { using (OpenFileDialog openFileDialog = new OpenFileDialog() { Filter = "Excel 97-2003 Workbook|*.xls|Excel Workbook|*.xlsx" }) { if(openFileDialog.ShowDialog()==DialogResult.OK) { txtFliename.Text = openFileDialog.FileName; using (var stream = File.Open(openFileDialog.FileName, FileMode.Open, FileAccess.Read)) { using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream)) { DataSet result = reader.AsDataSet( new ExcelDataSetConfiguration() { ConfigureDataTable = (_) =>new ExcelDataTableConfiguration() { UseHeaderRow = true} }); tableCollection = result.Tables; cboSheet.Items.Clear(); foreach (DataTable table in tableCollection) cboSheet.Items.Add(table.TableName); } } } } }
2,ComboBox的变化代码
1 private void cboSheet_SelectedIndexChanged(object sender, EventArgs e) 2 { 3 DataTable dt = tableCollection[cboSheet.SelectedItem.ToString()]; 4 dataGridView1.DataSource = dt; 5 }