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         }

相关