如何使用ASP.NET将XLS文件导入数据库?以下是一个示例代码:
- 首先,确保您的项目中已经引入了NPOI库,它可以帮助我们处理Excel文件。您可以在NuGet中搜索并安装NPOI库。
- 创建一个ASP.NET页面,命名为Import.aspx,用于上传XLS文件和导入数据库。
- 在Import.aspx页面上,添加一个FileUpload控件和一个Button控件:
<input type="file" id="fileUpload" />
<br />
<asp:Button ID="btnImport" runat="server" Text="导入" OnClick="btnImport_Click" />
- 在页面的代码后台,添加以下代码:
protected void btnImport_Click(object sender, EventArgs e)
{
if (fileUpload.HasFile)
{
string filePath = Server.MapPath("~/Uploads/") + fileUpload.FileName;
fileUpload.SaveAs(filePath);
// 使用NPOI库读取Excel文件
using (FileStream fs = new FileStream(filePath, FileMode.Open))
{
HSSFWorkbook workbook = new HSSFWorkbook(fs);
HSSFSheet sheet = workbook.GetSheetAt(0); // 假设读取第一个工作表
// 遍历工作表的数据行
for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++)
{
HSSFRow row = sheet.GetRow(i);
if (row == null) continue;
// 读取每行的单元格数据
string column1 = row.GetCell(0).ToString();
string column2 = row.GetCell(1).ToString();
string column3 = row.GetCell(2).ToString();
// 将数据插入数据库
InsertDataToDatabase(column1, column2, column3);
}
}
// 删除临时文件
File.Delete(filePath);
// 完成导入提示
Response.Write("导入成功!");
}
else
{
Response.Write("请选择要导入的文件!");
}
}
private void InsertDataToDatabase(string column1, string column2, string column3)
{
// 这里可以使用ADO.NET或Entity Framework等技术将数据插入数据库
// 相应的数据库连接字符串和SQL语句需要根据您的实际情况进行修改
string connectionString = "YourConnectionString";
string sql = "INSERT INTO YourTable (Column1, Column2, Column3) VALUES (@Column1, @Column2, @Column3)";
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@Column1", column1);
cmd.Parameters.AddWithValue("@Column2", column2);
cmd.Parameters.AddWithValue("@Column3", column3);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
- 现在,您可以在网页上选择一个XLS文件并点击导入按钮,然后它将会调用btnImport_Click事件处理程序,将Excel文件中的数据插入数据库。
请确保您的数据库连接字符串正确,并将”YourConnectionString”替换为您的实际连接字符串。同时,请根据您的数据库表结构修改InsertDataToDatabase方法中的SQL语句和参数名称。
希望以上代码对您有所帮助!
以下是将ASP.NET中的XLS文件导入数据库的一种示例方法:
- 在ASP.NET项目中创建一个Web表单页面,在其中添加用于上传文件的FileUpload控件、一个Button控件用于触发导入操作,并在页面上创建一个GridView控件用于显示导入结果。
- 在Web.config文件中添加与数据库连接相关的连接字符串。例如:
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=Your_Server;Initial Catalog=Your_Database;User Id=Your_Username;Password=Your_Password" providerName="System.Data.SqlClient" />
</connectionStrings>
- 在按钮的Click事件中添加以下代码,用于导入XLS文件数据到数据库中:
protected void Button_Click(object sender, EventArgs e)
{
if (FileUpload.HasFile)
{
string filePath = Server.MapPath("~/upload/") + FileUpload.FileName;
FileUpload.SaveAs(filePath);
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
using (OleDbConnection excelCon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0 Xml;HDR=YES;'"))
{
excelCon.Open();
DataTable dt = new DataTable();
using (OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", excelCon))
{
da.Fill(dt);
}
SqlCommand cmd = new SqlCommand("INSERT INTO Your_Table (Column1, Column2, Column3) VALUES (@Column1, @Column2, @Column3)", con);
cmd.Parameters.Add("@Column1", SqlDbType.VarChar);
cmd.Parameters.Add("@Column2", SqlDbType.VarChar);
cmd.Parameters.Add("@Column3", SqlDbType.VarChar);
foreach (DataRow row in dt.Rows)
{
cmd.Parameters["@Column1"].Value = row["Column1"].ToString();
cmd.Parameters["@Column2"].Value = row["Column2"].ToString();
cmd.Parameters["@Column3"].Value = row["Column3"].ToString();
cmd.ExecuteNonQuery();
}
GridView.DataSource = dt;
GridView.DataBind();
}
}
}
}
上述代码将上传的XLS文件保存到服务器上的“upload”文件夹中,连接到Excel文件并将数据填充到DataTable中,然后使用INSERT语句将数据逐行插入到对应的数据库表中。最后,将DataTable绑定到GridView控件以显示导入结果。
请记得根据实际情况修改代码中的数据库连接信息、表名以及上传文件保存路径。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/132949.html