C# 从Excel读取数据向SQL server写入

了解如何从Excel读取数据并将其写入SQL Server是一个非常有用的技能。以下是实现此目标的完整攻略:

第一步:引入所需的库

C#中读取和写入Excel需要使用外部库。我们需要下载并添加以下NuGet包:

  1. Microsoft.Office.Interop.Excel:允许操作Excel文件。
  2. Microsoft.ACE.OLEDB.12.0:允许使用OleDb连接器连接Excel文件。

第二步:连接Excel文件

我们需要指定Excel文件的路径,然后打开工作表,以便可以读取其中的数据。下面是连接Excel文件的示例代码:

string excelFilePath = @"C:\Test\Test.xlsx";
string connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0\"", excelFilePath);

var excelConnection = new OleDbConnection(connectionString);
excelConnection.Open();

var excelCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", excelConnection);
var excelReader = excelCommand.ExecuteReader();

while (excelReader.Read())
{
    // 读取每一行数据
}

excelReader.Close();
excelConnection.Close();

第三步:连接SQL Server

连接SQL Server的方法与连接Excel文件类似。我们需要指定服务器地址和要连接的数据库。

以下是连接SQL Server的示例代码:

string serverName = "MyServerName";
string databaseName = "MyDatabaseName";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=SSPI;", serverName, databaseName);

var sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();

// 执行SQL语句

第四步:读取并写入数据

现在我们已经连接了Excel文件和SQL Server,我们需要读取Excel文件中的数据并将其写入SQL Server中。

以下是将Excel文件中的数据读取并将其写入SQL Server的示例代码:

while (excelReader.Read())
{
    string column1 = excelReader[0].ToString();
    string column2 = excelReader[1].ToString();
    string column3 = excelReader[2].ToString();

    string sql = string.Format("INSERT INTO MyTable(Column1, Column2, Column3) VALUES ('{0}', '{1}', '{2}')", column1, column2, column3);
    var sqlCommand = new SqlCommand(sql, sqlConnection);
    sqlCommand.ExecuteNonQuery();
}

示例说明

以下是两个示例,示例数据存储在Excel文件中。我们将读取该数据并将其写入SQL Server中。

示范1

Excel文件中包含以下数据:

Column1 Column2 Column3
111 222 333
444 555 666
777 888 999

我们将读取此数据并将其写入名为MyTable的SQL Server表中。

string excelFilePath = @"C:\Test\Test.xlsx";
string connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0\"", excelFilePath);
var excelConnection = new OleDbConnection(connectionString);
excelConnection.Open();
var excelCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", excelConnection);
var excelReader = excelCommand.ExecuteReader();

string serverName = "MyServerName";
string databaseName = "MyDatabaseName";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=SSPI;", serverName, databaseName);
var sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();


while (excelReader.Read())
{
    string column1 = excelReader[0].ToString();
    string column2 = excelReader[1].ToString();
    string column3 = excelReader[2].ToString();

    string sql = string.Format("INSERT INTO MyTable(Column1, Column2, Column3) VALUES ('{0}', '{1}', '{2}')", column1, column2, column3);
    var sqlCommand = new SqlCommand(sql, sqlConnection);
    sqlCommand.ExecuteNonQuery();
}

excelReader.Close();
excelConnection.Close();
sqlConnection.Close();

示范2

Excel文件中包含以下数据:

First Name Last Name Email
John Doe johndoe@example.com
Jane Doe janedoe@example.com
Bob Smith bobsmith@example.com

我们将读取此数据并将其写入名为Users的SQL Server表中。

string excelFilePath = @"C:\Test\Test.xlsx";
string connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0\"", excelFilePath);
var excelConnection = new OleDbConnection(connectionString);
excelConnection.Open();
var excelCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", excelConnection);
var excelReader = excelCommand.ExecuteReader();

string serverName = "MyServerName";
string databaseName = "MyDatabaseName";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=SSPI;", serverName, databaseName);
var sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();


while (excelReader.Read())
{
    string firstName = excelReader[0].ToString();
    string lastName = excelReader[1].ToString();
    string email = excelReader[2].ToString();

    string sql = string.Format("INSERT INTO Users(FirstName, LastName, Email) VALUES ('{0}', '{1}', '{2}')", firstName, lastName, email);
    var sqlCommand = new SqlCommand(sql, sqlConnection);
    sqlCommand.ExecuteNonQuery();
}

excelReader.Close();
excelConnection.Close();
sqlConnection.Close();

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 从Excel读取数据向SQL server写入 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C# DriveInfo.GetDrives():获取所有逻辑驱动器的DriveInfo对象

    C#中的DriveInfo.GetDrives()方法用于获取当前系统中所有可用的磁盘驱动器的信息。它返回一个DriveInfo数组,数组中包含系统中所有可用的磁盘驱动器的信息。 该方法没有参数,当调用该方法时会迭代系统中所有可用的磁盘驱动器,并返回一个DriveInfo数组。通过访问数组中的每一个DriveInfo对象,可以获取有关磁盘驱动器的以下信息: …

    C# 2023年4月19日
    00
  • C#实现学生成绩管理系统

    C#实现学生成绩管理系统 介绍 学生成绩管理系统是一种常见的应用,它提供了学生信息录入、成绩查阅等功能,方便教师和学生进行学习管理。C#是一种面向对象的编程语言,非常适合实现这种应用。 本文将介绍如何使用C#实现一个简单的学生成绩管理系统。我们将使用Visual Studio开发环境来快速构建应用。本系统将支持学生信息的录入、成绩的添加、修改和删除,以及成绩…

    C# 2023年6月7日
    00
  • C# TextWriter.WriteAsync – 异步写入一个字符

    TextWriter.WriteAsync 方法的作用与使用方法 TextWriter.WriteAsync 方法是 C# 中异步写入文本内容的方法,通过该方法可以在不阻塞主线程的情况下,将文本异步地写入到指定的文本流中。 该方法返回类型为 Task,表示该方法是异步执行的方法。 TextWriter.WriteAsync 方法的详细使用攻略 方法签名: p…

    C# 2023年4月19日
    00
  • 详解ASP.NET Core3.0 配置的Options模式

    详解ASP.NET Core3.0 配置的Options模式攻略 在本攻略中,我们将详细讲解如何使用ASP.NET Core3.0配置的Options模式,并提供两个示例说明。 步骤一:创建配置类 在应用程序中,您需要创建一个名为AppSettings的类,并定义应用程序的所有配置。以下是一个示例AppSettings类: public class AppS…

    C# 2023年5月17日
    00
  • .NET Core配置TLS Cipher(套件)的详细过程

    .NET Core配置TLS Cipher(套件)的详细过程 TLS Cipher 是一种加密套件,用于保护网络通信的安全性。在 .NET Core 中,可以配置 TLS Cipher 套件来提高应用程序的安全性。本攻略将详细介绍如何配置 TLS Cipher 套件。 配置 TLS Cipher 套件 在 .NET Core 中,可以使用以下代码配置 TLS…

    C# 2023年5月17日
    00
  • linux操作系统安装MONO执行C#程序的详解步骤

    下面是安装MONO并执行C#程序的详细步骤: 简述 首先,需要理解什么是MONO。MONO是一个可跨平台的开源的.NET框架实现,它能够让开发者使用C#等.NET语言在Linux、MacOS、Windows等多个操作系统上运行程序。因此,如果你想在Linux上执行C#程序,就需要先安装MONO。 步骤 检查系统是否已经安装了MONO: 在终端中输入以下命令:…

    C# 2023年6月3日
    00
  • 在C#中使用OpenCV(使用OpenCVSharp)的实现

    在C#中使用OpenCV实现图像处理功能,可以使用OpenCVSharp库。以下是使用OpenCVSharp的攻略: 步骤一:安装OpenCVSharp库 首先在你的项目中安装OpenCVSharp库。可以通过NuGet安装方式,或者在其官网下载dll文件或源代码手动添加到项目中。 步骤二:引用命名空间 在所需要使用OpenCVSharp库的类文件中,引用命…

    C# 2023年6月1日
    00
  • C#基于Socket实现简单聊天室功能

    C#基于Socket实现简单聊天室功能攻略 简介 本攻略旨在介绍如何使用C#语言基于Socket实现一个简单聊天室的功能。在本攻略中,我们将使用Socket API来创建网络连接,使用TCP协议进行数据传输。 需要注意的是,本攻略主要面向有一定C#编程基础的读者,对Socket编程有一定了解。 步骤 以下是基于Socket实现简单聊天室功能的步骤: 第一步:…

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部