-3

我需要导入一个 excel 并且必须对其进行一些处理。应使用 C# 检索这些 excel 数据。当我被谷歌搜索时,我很困惑。任何人都可以提供 c# 代码来实现它吗?

提前致谢。

4

1 回答 1

1

使用 OleDB:

using System.Data.OleDb;

private void readExcel(string pExcelPath, string pSheetName)
        {
            DataTable sheet1 = new DataTable();
            OleDbConnectionStringBuilder csbuilder = new OleDbConnectionStringBuilder();
            csbuilder.Provider = "Microsoft.ACE.OLEDB.12.0";
            csbuilder.DataSource = pExcelPath;
            if (excelFirstRowIsHeader == true)
                csbuilder.Add("Extended Properties", "Excel 12.0 Xml;HDR=YES");
            else
                csbuilder.Add("Extended Properties", "Excel 12.0 Xml;HDR=NO");

            using (OleDbConnection connection = new OleDbConnection(csbuilder.ConnectionString))
            {
                connection.Open();
                string sqlQuery = @"SELECT * FROM [" + pSheetName + "]";
                using (OleDbDataAdapter adapter = new OleDbDataAdapter(sqlQuery, connection))
                {
                    adapter.Fill(sheet1);
                    excelData_dataGridView.DataSource = sheet1;
                }
                connection.Close();
            }
        }

此代码支持使用 Excel 2007/2010 创建的 Excel 文件。布尔值 excelFirstRowIsHeader 用于指定您的 excel 是否包含标题行(如果您的 excel 工作表中的第一行使用标题)

您也可以使用 Interop-Assembly 读取 excel 文件,但必须安装 MS Excel。

于 2013-09-03T14:33:25.400 回答