从本地读取Excel文件并转换成DataTable格式

本文介绍了一种使用C#从Excel文件中读取数据并转换到DataGridView的方法。通过OpenFileDialog选择Excel文件,利用OleDbConnection连接Excel,获取工作表名称,并使用OleDbDataAdapter填充数据集,最终显示在DataGridView中。
  1. 选取Excel文件

         OpenFileDialog open = new OpenFileDialog();

         open.InitialDirectory = "窗口打开位置";        //注意地址的斜杠为\\

         open.Filter = "Excel(*.xlsx)|*.xlsx|Excal(*.xls)|*.xls";

2.读取并转换

if (open.ShowDialog() == DialogResult.OK)

{

String fName = open.FileName;

try

    {

     string strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";

         using (OleDbConnection conn = new OleDbConnection(strconn))

         {

           conn.Open();

               DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });

               string firstNmae = sheetsName.Rows[0][2].ToString();

               string sql = string.Format("select * from [{0}]", firstNmae);

               OleDbDataAdapter ada = new OleDbDataAdapter(sql, strconn);

               DataSet set = new DataSet();

               ada.Fill(set);

               DataGridView.DataSource = set.Tables[0];

          }

    }

    catch (Exception ex)

    {

          Console.WriteLine(ex);

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值