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

asp.net 读取excel数据表

2010-05-18 14:16 417 查看
第一次使用execl作为数据源,发觉有以下几个问题:

1、数据源连接语句

2、数据表名(默认为sheet1、sheet2……)

3、数据字段名(默认为F1、F2……这个不那么确定,可以用数据绑定控件输出,字段名就是默认的excel数据源的字段名)

4、绑定控件显示的第一行为excel表里的字段行,可用dataset如:ds.table[0].rows[0].delete()删除第一行;

前台数据绑定控件:()

]<asp:GridView ID="gv_user" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" Font-size="12px" Width="100%" AutoGenerateColumns="False">
<Columns>
<asp:BoundField  DataField="F1" HeaderText="姓名"/>
<asp:BoundField  DataField="F2" HeaderText="房号"/>
<asp:BoundField  DataField="F3" HeaderText="计费时间"/>
……
……
</Columns>
</asp:GridView>


后台数据获取与绑定:

]        DataSet ds = new DataSet();
string connectStr= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel//teacher.xls") + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
string MySQL = "SELECT * FROM [Sheet1$] where F1=@T_name";//[sheet1$]为数据源teacher.xls的第一个表,F1为表中的第一列
OleDbConnection myconn = new OleDbConnection(connectStr);
OleDbCommand com = new OleDbCommand(MySQL, myconn);
com.CommandType = CommandType.Text;
com.Parameters.Add(new OleDbParameter("@T_name", parT_name));//parT_name为传递过来的一个参数
OleDbDataAdapter adp = new OleDbDataAdapter(com);
adp.Fill(ds, "ExcelTemp");
if (ds.Tables[0].Rows.Count > 0)
{
gv_user.DataSource = ds;
gv_user.DataBind();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: