zoukankan      html  css  js  c++  java
  • 如何在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

  • 相关阅读:
    P3225 [HNOI2012]矿场搭建 题解
    CodeForces
    poj-3723
    codeforces -1214 E
    POJ-1741 树上分治--点分治(算法太奇妙了)
    洛谷p1345---最小割的奇妙运用
    洛谷p2149----两个终点和两个起点,最短路最大交汇长度!!!
    BerOS File Suggestion(字符串匹配map)
    Garbage Disposal(模拟垃圾装垃圾口袋)
    第八周组队赛
  • 原文地址:https://www.cnblogs.com/liessay/p/12768760.html
Copyright © 2011-2022 走看看