武汉阿里云代理商:asp.net excel 导入数据库

  1. 创建Excel表格,保存为CSV文件格式
    首先打开Excel表格,将所需的数据填写进去,然后依次点击 “文件” -> “另存为” -> “其他格式”,在“另存为”对话框中,选择“CSV UTF-8 (逗号分隔)(*.csv)”格式并保存。将.csv文件上传到服务器中相应的路径下。
  2. 在ASP.NET中读取CSV文件
    读取CSV文件可以使用DataTable类,首先需要在.cs文件中引用以下命名空间:

using System.Data;
using System.IO;

然后在代码中调用以下方法读取CSV文件:

string filePath = Server.MapPath(“~/UploadedFiles/test.csv”); //csv文件路径
StreamReader sr = new StreamReader(filePath, Encoding.UTF8); //使用StreamReader读取文件
string strLine = “”;
string[] tempArr;

DataTable dt = new DataTable();
strLine = sr.ReadLine();
tempArr = System.Text.RegularExpressions.Regex.Split(strLine, “,”); //使用正则表达式分隔数据
foreach (string tempStr in tempArr) //生成datatable列
{

dt.Columns.Add(tempStr, Type.GetType("System.String"));

}

while ((strLine = sr.ReadLine()) != null)
{

DataRow dr = dt.NewRow();
tempArr = System.Text.RegularExpressions.Regex.Split(strLine, ",");
for (int i = 0; i < tempArr.Length; i++)
{
    dr[i] = tempArr[i];
}
dt.Rows.Add(dr);

}
sr.Close(); //关闭StreamReader

以上代码从CSV文件中读取数据,并将数据添加到DataTable对象中。

  1. 将数据导入到数据库中
    将数据导入到数据库中可以使用SQL语句实现,以下是示例代码:

string connStr = “Data Source=xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx”; //数据库连接字符串
SqlConnection conn = new SqlConnection(connStr);
conn.Open();

foreach (DataRow dataRow in dt.Rows)
{

string sqlCmd = "INSERT INTO [TableName]([Column1], [Column2], [Column3], [Column4]) "
+ "VALUES('" + dataRow[0].ToString() + "', '" + dataRow[1].ToString() + "', '" + dataRow[2].ToString() + "', '" + dataRow[3].ToString() + "')";
SqlCommand cmd = new SqlCommand(sqlCmd, conn);
cmd.ExecuteNonQuery();

}

conn.Close(); //关闭数据库连接

武汉阿里云代理商:asp.net excel 导入数据库

以上代码将DataTable中的数据逐一插入到数据库中特定的表中。

完整代码如下:

protected void btnImport_Click(object sender, EventArgs e)
{

string filePath = Server.MapPath("~/UploadedFiles/test.csv"); //csv文件路径
StreamReader sr = new StreamReader(filePath, Encoding.UTF8); //使用StreamReader读取文件
string strLine = "";
string[] tempArr;

DataTable dt = new DataTable();
strLine = sr.ReadLine();
tempArr = System.Text.RegularExpressions.Regex.Split(strLine, ","); //使用正则表达式分隔数据
foreach (string tempStr in tempArr) //生成datatable列
{
    dt.Columns.Add(tempStr, Type.GetType("System.String"));
}

while ((strLine = sr.ReadLine()) != null)
{
    DataRow dr = dt.NewRow();
    tempArr = System.Text.RegularExpressions.Regex.Split(strLine, ",");
    for (int i = 0; i < tempArr.Length; i++)
    {
        dr[i] = tempArr[i];
    }
    dt.Rows.Add(dr);
}
sr.Close(); //关闭StreamReader

string connStr = "Data Source=xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx"; //数据库连接字符串
SqlConnection conn = new SqlConnection(connStr);
conn.Open();

foreach (DataRow dataRow in dt.Rows)
{
    string sqlCmd = "INSERT INTO [TableName]([Column1], [Column2], [Column3], [Column4]) "
    + "VALUES('" + dataRow[0].ToString() + "', '" + dataRow[1].ToString() + "', '" + dataRow[2].ToString() + "', '" + dataRow[3].ToString() + "')";
    SqlCommand cmd = new SqlCommand(sqlCmd, conn);
    cmd.ExecuteNonQuery();
}

conn.Close(); //关闭数据库连接
Response.Write("<script>alert('导入成功!')</script>");

}

您好,您可以参考如下代码示例进行asp.net excel导入数据库:

  1. 首先,你需要从Excel文件中读取数据,然后将数据存储在一个数据表中。
//读取Excel文件并将数据存储在数据表中
string path = Server.MapPath("~/ExcelFiles/文件名.xlsx");//获取文件路径
string connString = "Provider=Microsoft.Ace.OleDb.12.0; Data Source=" + path + ";Extended Properties=Excel 12.0;";
OleDbConnection conn = new OleDbConnection(connString);
OleDbCommand cmd = new OleDbCommand("select * from [Sheet1$]", conn);
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
DataTable dt = new DataTable();
dt.Load(dr);
  1. 然后,你需要将数据表中的数据插入到数据库中。
//将数据插入到数据库中
string strConn = "Data Source=.;Initial Catalog=数据库名;uid=用户名;pwd=密码";
SqlBulkCopy bulkCopy = new SqlBulkCopy(strConn);
bulkCopy.DestinationTableName = "表名";
bulkCopy.WriteToServer(dt);

以上就是如何使用asp.net将Excel中的数据导入到数据库中的示例。希望对您有所帮助。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/159377.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月11日 05:20
下一篇 2024年3月11日 05:51

相关推荐

  • 周口阿里云代理商:安卓自动开启网络连接

    周口阿里云代理商:安卓自动开启网络连接 在如今的数字时代,网络已经成为人们生活和工作中必不可少的一部分。特别是对于使用安卓设备的用户来说,能够自动启用网络连接无疑是一种便利。作为周口地区的阿里云代理商,我们希望介绍一下阿里云的优势,并探讨如何实现安卓设备的自动网络连接。 阿里云的优势 稳定性:阿里云提供的服务器具有高度的稳定性,可以保证持续的网络连接,避免设…

    2024年1月29日
    61500
  • 金华阿里云代理商:安卓 数据库 示例

    金华阿里云代理商:安卓数据库示例 阿里云是中国领先的云计算服务提供商,具有强大的技术实力和丰富的产品线。在金华地区,选择阿里云作为安卓数据库的代理商有诸多优势。 一、高可靠性 阿里云提供的安卓数据库采用分布式架构,实现了数据的高可靠性。阿里云拥有多个机房,通过数据备份和灾备方案,确保数据不会丢失。即使某个机房发生故障,也能够自动切换到其他机房提供服务,保证系…

    2024年1月23日
    78900
  • 阿里云国外数据库

    阿里云并不提供专门的国外数据库服务,但它的云数据库RDS可以满足使用者的国内、国外数据库需求。 通过阿里云的云数据库RDS,你可以创建出一些常见的数据库实例,如MySQL、SQL Server、PostgreSQL和MongoDB等。这些实例可以部署在国内的云服务器上,但是可以通过公网访问来连接国外的服务器,实现国内与国外的数据库之间的数据传输和同步。 如果…

    2023年10月1日
    62100
  • 阿里云企业邮箱:‌为什么推荐阿里云企业邮箱APP?‌

    阿里云企业邮箱:为什么推荐阿里云企业邮箱APP? 在当今数字化办公时代,企业邮箱已成为企业高效沟通和协作的重要工具。阿里云企业邮箱凭借其强大的功能、稳定的性能和便捷的移动端体验,成为众多企业的首选。本文将详细介绍阿里云企业邮箱的优势,并结合实际使用体验,解答为什么推荐阿里云企业邮箱APP。 一、阿里云企业邮箱的核心优势 1. 安全可靠,保障企业数据 阿里云企…

    2025年7月6日
    53900
  • 曲靖阿里云代理商:android获取本地存储空间

    要获取Android设备的本地存储空间,你可以使用以下代码: public long getTotalInternalStorageSize() { File path = Environment.getDataDirectory(); StatFs statFs = new StatFs(path.getPath()); long blockSize = …

    2024年2月8日
    1.3K00

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/