使用 openFileDialog 将 Excel 文件导入数据网格视图

本文关键字:数据 数据网 网格 视图 导入 文件 openFileDialog Excel 使用 | 更新日期: 2023-09-27 17:55:37

我有一个带有加载按钮的通知。 当我单击加载时,我选择要加载到数据网格视图中的文件。 当我单击该文件时,似乎填充了正确数量的行,但没有显示任何内容。 我不确定我错过了什么。 "首字母缩略词"是我的 excel 选项卡/工作表的名称。

   private void btnImport_Click_1(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "XLS files (*.xls, *.xlt)|*.xls;*.xlt|XLSX files (*.xlsx, *.xlsm, *.xltx, *.xltm)|*.xlsx;*.xlsm;*.xltx;*.xltm|ODS files (*.ods, *.ots)|*.ods;*.ots|CSV files (*.csv, *.tsv)|*.csv;*.tsv|HTML files (*.html, *.htm)|*.html;*.htm";
            openFileDialog.FilterIndex = 2;
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                System.Data.OleDb.OleDbConnection MyConnection;
                System.Data.DataSet DtSet;
                System.Data.OleDb.OleDbDataAdapter MyCommand;
                MyConnection = new System.Data.OleDb.OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + openFileDialog.FileName + "';Extended Properties=Excel 8.0;");
                MyConnection.Open();
                MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Acronyms$]", MyConnection);
                DtSet = new System.Data.DataSet();
                MyCommand.Fill(DtSet);
                dgvExcelList.DataSource = DtSet.Tables[0];
                MyConnection.Close();
            }
        }

使用 openFileDialog 将 Excel 文件导入数据网格视图

检查以确保通过 GUI 为 DataGridView 创建的列已填充 DataProperty 值。