您的位置:首页 > 编程语言 > C#

C#连接Excel表格

2013-10-28 10:54 281 查看
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();

}
删除/更新语句:

这个就异曲同工了~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: