1、首先加入这些声明,以便于使用后面的函数。
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
2、将如下代码添加到“显示”按钮的点击函数中,
OleDbConnection DBConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=False;Data Source=" + @txt_name + "; Extended Properties=\'Excel 8.0;HDR=YES;IMEX=1\'");
//其中,txt_name是要显示的xls文件的名称,HDR共有两个值,yes 或者no ,表明是否将xls表格中的第一行作为数据项,HDR=Yes,这代表第一行是标题,不做 为//数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
DBConnection.Open();
string SQLString="select * from [sheet1$]";
OleDbCommand DBCommand=new OleDbCommand(SQLString,DBConnection);
IDataReader DBReader =DBCommand.ExecuteReader();
GridView1.DataSource=DBReader;
GridView1.DataBind();
DBReader.Close();
DBConnection.Close();
补充说明:在OleDbConnection中,字符串中的代码的含义为
参数Excel 8.0
对于Excel 97以上版本都用Excel 8.0
IMEX ( IMport EXport mode )设置
IMEX 有三种模式:
0 is Export mode
1 is Import mode
2 is Linked mode (full update capabilities)
我这里特别要说明的就是 IMEX 参数了,因为不同的模式代表著不同的读写行为:
当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。
当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。
当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。
意义如下:
0 ---输出模式;
1---输入模式;
2----链接模式(完全更新能力)