asp.net读取excel中的数据并绑定在gridview

前端技术 2023/08/31 .NET
前台label,DropDownList,gridview控件

aspx.cs核心代码:
复制代码 代码如下:

using System.Data.OleDb;//需要引入命名
public void Excel_Click(object sender, EventArgs e)
{
if (this.AttachmentFile.Value == \"\" && this.Label1.Text == \"\" && DropDownList2.SelectedValue == \"\")
{
Response.Write(\"<script>window.alert(\'请选择要导入的文件\')</script>\");
}
if (this.AttachmentFile.Value != \"\" && this.DropDownList2.SelectedValue == \"\")
{
HttpFileCollection files = HttpContext.Current.Request.Files;
HttpPostedFile postedFile = files[0];
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != \"\")
{
postedFile.SaveAs(\"\\\\\\\\localhost\\\\文件夹\\\\\" + fileName);
}
string strConn;
strConn = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" + \"\\\\\\\\localhost\\\\文件夹\\\\\" + fileName + \";Extended Properties=Excel 8.0;\";//this.AttachmentFile.Value.ToString()
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataTable sheetNames = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, \"TABLE\" });
foreach (DataRow dr in sheetNames.Rows)
{
DropDownList2.Items.Add(dr[2].ToString());
}
this.Label1.Text = \"\\\\\\\\localhost\\\\文件夹\\\\\" + fileName;//this.AttachmentFile.Value.ToString();
conn.Close();
}
if (this.Label1.Text.ToString() != \"\" && this.DropDownList2.SelectedValue != \"\")// && this.DropDownList1.SelectedValue.ToString() != \"全部\"
{

//绑定到gridview
GridView1.DataSource = createDataSource(DropDownList2.SelectedValue.ToString(), this.Label1.Text.ToString());//, this.DropDownList1.SelectedValue.ToString()
GridView1.DataBind();


}


}
//以Excel为数据源获取数据集
private DataSet createDataSource(string select, string lable)

{
string strCon = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" + lable + \";Extended Properties=Excel 8.0;\";
string strsql = \"select 登记号码,姓名,日期,签到时间,签退时间,部门 from [\" + select + \"] order by 部门,日期,姓名\";//excel表格的字段
OleDbConnection conn = new OleDbConnection(strCon);
OleDbDataAdapter da = new OleDbDataAdapter(strsql, conn);
try
{
conn.Open();
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
return ds;
}
catch (Exception e)
{
Response.Write(\"<script>window.alert(\'没有数据,或者\" + e.Message + \"\')</script>\");
return null;
}
}

以上是插入07以前版本excel

如果07版本以后只需要做小小修改
复制代码 代码如下:

string strCon = \"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\" + lable + \";Extended Properties=Excel 12.0;\";

本文地址:https://www.stayed.cn/item/1066

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。