C#连接Excel表格

C#连接Excel表格,以实现对Excel表格的读取和写入。

首先,应确保ODBC中已安装有Excel表格文件的驱动"Microsoft Excel Driver(*.xls)"。

控制面板->管理工具->数据源(ODBC)如下:


命名空间:

using System.Data.OleDb;

连接语句:

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "DataSource=test.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";

//DataSource是打开的Excel表格的文件名。

//因为连接的Excel表格是2007的,所以为Excel8.0(若为03版,应为4.0)。

//HDR=Yes/No Yes表示第一行中包含列名,而不是数据。No即不包含,直接是数据。

//IMEX=1 通知驱动程序始终将“胡混数据列作为文本读取”

//注意大小写区别

OleDbConnection conn = new OleDbConnection(connStr);

查询语句:

OleDbDataAdapter myAdapter = new OleDbDataAdapter("select * from [Sheet1$]",conn);

//Excel表格默认有三个表格,是Sheet1、Sheet2、Sheet3,在引用时应加 [$]加以表示。

//到这里,就已经将test.xls文件中的表格Sheet1中的内容读取到DataAdapter中了。

DataSet myDataSet = new DataSet();

myAdapter.Fill(myDataSet);

//将查询的结果填充至DataSet中,即可对DataSet中的DataTable的行列单元格内容进行访问了喔~

新建表格:

sql = "CREATE TABLE test ([stuId] varchar,[stuName] varchar)"; 

OleDbCommand myCommand = new OleDbCommand(sql, myConnToExcel);

myCommand.ExecuteNonQuery();

插入语句:

for (int i = 0; i < dataGridView1.RowCount; i++)
{

    sql = "insert into demo values (\'" + dataGridView1.Rows[i].Cells[0].Value.ToString() + "\',\'" + 

              dataGridView1.Rows[i].Cells[1].Value.ToString() + "\')";

    myCommand = new OleDbCommand(sql, myConnToExcel);
    myCommand.ExecuteNonQuery();
}

删除/更新语句:

这个就异曲同工了~~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值