如何在C#中打开和读取EXCEL文件
这篇文章向您展示如何在C#Windows Forms Application中使用ExcelDataReader,ExcelDataReader.DataSet打开和读取Excel文件。
创建一个新的Windows窗体应用程序项目,然后打开窗体设计器。您可以将TextBox,Label,Button,Combobox和DataGridView从Visual Studio工具箱拖到winform中。
如何在C#中打开Excel文件
您需要从Manage Nuget Packages安装 ExcelDataReader,ExcelDataReader.DataSet到您的项目。
- ExcelDataReader:这是用C#编写读取一个轻量级和快速的Microsoft Excel文件库(2.0-2007)。
- ExcelDataReader.DataSet:这是读取Microsoft Excel文件到扩展System.Data.DataSet中。
接下来,将click事件处理程序添加到“浏览”按钮,您可以选择excel文件,然后在c#中打开并读取excel文件中的数据。
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) { txtFilename.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);//add sheet to combobox } } } } }
使用ExcelReaderFactory.CreateReader 方法可以轻松读取c#中的excel 97-2003或excel工作簿。
最后,将SelectedIndexChanged事件处理程序添加到Combobox中,您可以选择工作表名称,然后将表中的数据加载到 DataGridView中。
DataTable dt = tableCollection[cboSheet.SelectedItem.ToString()];
dataGridView1.DataSource = dt;
通过上面的c#示例,您已经学习了如何使用ExcelDataReader和 ExcelDataReader.DataSet库将Excel文件读取和导入到C#中的DataGridView中。
本文来自博客园,作者:liessay,转载请注明原文链接:https://www.cnblogs.com/liessay/p/12768760.html