如何在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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM