如何在C中将Excel数据保存到数据库?
- 行业动态
- 2025-01-26
- 4124
摘要:C#中实现Excel保存到数据库,需借助相关库读取Excel数据并建立 数据库连接,通过SQL语句插入或更新数据。
在C#中将Excel数据保存到数据库是一个常见的需求,通常可以通过以下步骤实现:
1、读取Excel文件:使用第三方库如EPPlus、NPOI等来读取Excel文件中的数据,这些库提供了丰富的API,可以方便地读取Excel文件的各个工作表、单元格等。
2、连接数据库:使用ADO. NET或其他数据库访问技术连接到目标数据库,对于SQL Server数据库,可以使用SqlConnection类建立连接;对于MySQL数据库,可以使用MySqlConnection类等。
3、插入数据到数据库:将读取到的Excel数据逐行或批量插入到数据库表中,可以使用参数化查询或存储过程来执行插入操作,以提高性能和安全性。
下面以一个简单的示例来说明这个过程:
假设有一个Excel文件“data.xlsx”,其中包含一个工作表“Sheet1”,工作表中有两列数据“ID”和“Name”,现在要将这个工作表中的数据保存到SQL Server数据库中的一个名为“TestTable”的表中。
需要安装EPPlus库来读取Excel文件,可以使用NuGet包管理器安装:
Install-Package EPPlus
编写C#代码如下:
using System; using System.Data.SqlClient; using System.IO; using OfficeOpenXml; class Program { static void Main() { string excelFilePath = @"pathtodata.xlsx"; string connectionString = "your_connection_string_here"; // 读取Excel文件 FileInfo fileInfo = new FileInfo(excelFilePath); using (ExcelPackage package = new ExcelPackage(fileInfo)) { // 获取工作表 ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"]; int rowCount = worksheet.Dimension.Rows; // 连接到数据库 using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); // 遍历Excel行并插入数据到数据库 for (int row = 2; row <= rowCount; row++) // 假设第一行为标题行 { int id = int.Parse(worksheet.Cells[row, 1].Text); string name = worksheet.Cells[row, 2].Text; string sql = "INSERT INTO TestTable (ID, Name) VALUES (@ID, @Name)"; using (SqlCommand cmd = new SqlCommand(sql, conn)) { cmd.Parameters.AddWithValue("@ID", id); cmd.Parameters.AddWithValue("@Name", name); cmd.ExecuteNonQuery(); } } } } } }
在这个示例中,首先通过EPPlus库读取Excel文件中的数据,然后使用ADO. NET连接到SQL Server数据库,并通过循环遍历Excel的每一行数据,将其插入到数据库表中。
需要注意的是,以上代码仅为示例,实际应用中可能需要根据具体情况进行修改和完善,例如处理Excel文件中的不同数据类型、错误处理、事务管理等,如果Excel文件较大,可能需要考虑性能优化,如批量插入数据等。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/399714.html