当前位置: 首页 > news >正文

无锡网站建设专家无锡网站制作关键词优化排名软件推荐

无锡网站建设专家无锡网站制作,关键词优化排名软件推荐,做网站的启蒙思想,龙华营销型网站制作哪家好将Excel文件中的数据导入到数据库中不仅能够提升数据处理的效率和准确性,还能极大地促进数据分析和决策制定的过程。尤其在企业级应用中,Excel作为数据输入和初步整理的工具非常普遍,但其功能对于复杂查询、大规模数据管理和跨部门的数据共享…

将Excel文件中的数据导入到数据库中不仅能够提升数据处理的效率和准确性,还能极大地促进数据分析和决策制定的过程。尤其在企业级应用中,Excel作为数据输入和初步整理的工具非常普遍,但其功能对于复杂查询、大规模数据管理和跨部门的数据共享来说有所局限。通过使用C#在.NET平台上实现这一过程,可以充分利用其强大的数据操作能力和丰富的库支持,确保数据从Excel无缝迁移到诸如SQLite等关系型数据库中,从而实现更高效的数据管理、增强的数据安全性和更好的性能优化,同时为后续的数据挖掘和商业智能分析打下坚实的基础。
本文将介绍如何在.NET平台使用C#导入Excel文件数据到数据库中

文章目录

    • 导入Excel数据到SQLite数据库
    • 导入Excel数据到SQLite数据库

本文所使用的方法需要用到免费的Free Spire.XLS for .NET,NuGet:PM> Install-Package FreeSpire.XLS,以及System.Data.SQLite,NuGet:PM> Install-Package System.Data.SQLite

导入Excel数据到SQLite数据库

我们可以使用Free Spire.XLS for .NET中的Workbook.LoadFromFile方法载入Excel文件,然后使用CellRange.Value读取单元格的数据,并搭配System.Data.SQLite模块将数据写入到SQLite数据库中。以下是操作步骤示例:
以下是将提供的C#代码转换为操作步骤的介绍:

  1. 设置SQLite数据库文件路径为Sample.db,并指定Excel输出文件路径为output/DatabaseToExcel.xlsx
  2. 创建一个新的Workbook实例以表示Excel工作簿,并清除默认的工作表。
  3. 使用SQLiteConnection创建一个到SQLite数据库的新连接,并打开这个连接。
  4. 通过调用GetSchema("Tables")从数据库获取所有表的名字,并存储在一个DataTable对象中。
  5. 遍历每个表名:
    • 对于每个表,添加一个新的工作表到工作簿中,工作表名称设为当前表名。
  6. 构建SQL查询语句以选择表中的所有数据,并使用SQLiteCommand执行此查询。
  7. 使用SQLiteDataReader读取查询结果,并进行以下操作:
    • 获取列名并将它们写入新工作表的第一行。
    • 设置第一行(即标题行)的字体样式为粗体,字号为12。
  8. 继续遍历数据行,并对每一行执行以下操作:
    • 将每一行的数据值写入相应的单元格中。
    • 自动调整每列的宽度以适应内容。
    • 设置数据行的字体大小为11。
  9. 关闭与SQLite数据库的连接。
  10. 保存生成的工作簿到之前定义的Excel文件路径,并释放workbook对象使用的资源。

代码示例:

using System.Data.SQLite;
using Spire.Xls;namespace ExcelToSQLite
{class Program{static void Main(string[] args){// Excel 文件路径string excelFilePath = "G:/Documents/Sample37.xlsx";// SQLite 数据库路径string sqliteFilePath = "output/Database.db";// 打开 Excel 文件Workbook workbook = new Workbook();workbook.LoadFromFile(excelFilePath);// 如果数据库文件不存在,则创建它if (!File.Exists(sqliteFilePath)){SQLiteConnection.CreateFile(sqliteFilePath);Console.WriteLine("已创建新的 SQLite 数据库文件:output.db");}// 创建 SQLite 连接using (SQLiteConnection connection = new SQLiteConnection($"Data Source={sqliteFilePath};Version=3;")){connection.Open();// 遍历每个工作表foreach (Worksheet sheet in workbook.Worksheets){string tableName = sheet.Name;// 获取第一行作为列名var columns = sheet.Rows[0].CellList;string createTableQuery = $"CREATE TABLE IF NOT EXISTS [{tableName}] (";foreach (var column in columns){createTableQuery += $"[{column.Value}] TEXT,";}createTableQuery = createTableQuery.TrimEnd(',') + ");";// 创建表using (SQLiteCommand createTableCommand = new SQLiteCommand(createTableQuery, connection)){createTableCommand.ExecuteNonQuery();}// 插入数据for (int i = 1; i < sheet.Rows.Length; i++) // 跳过第一行{var row = sheet.Rows[i];string insertQuery = $"INSERT INTO [{tableName}] VALUES (";foreach (var cell in row.CellList){insertQuery += $"'{cell.Value?.Replace("'", "''")}',"; // 防止 SQL 注入}insertQuery = insertQuery.TrimEnd(',') + ");";using (SQLiteCommand insertCommand = new SQLiteCommand(insertQuery, connection)){insertCommand.ExecuteNonQuery();}}}connection.Close();workbook.Dispose();}Console.WriteLine("Excel 数据已成功写入新的 SQLite 数据库!");}}
}

结果
C#导入Excel到SQLite数据库

导入Excel数据到SQLite数据库

写入到Access数据库则需要用到System.Data.OleDb模块,以下是操作步骤示例:
以下是将提供的C#代码转换为操作步骤的介绍:

  1. 设置Excel文件路径为Sample.xlsx,并指定Access数据库文件路径为output/Database.accdb
  2. 使用Workbook类打开指定路径的Excel文件,并加载该文件到内存中。
  3. 创建一个用于连接Access数据库的OleDb连接字符串。
  4. 检查Access数据库文件是否存在。如果不存在,则提示用户首先创建Access数据库文件,并终止程序执行。
  5. 创建一个新的OleDb连接对象,并打开与Access数据库的连接。
  6. 遍历Excel工作簿中的每个工作表:
    • 获取当前工作表的名称,并将其作为新表的名称。
  7. 从工作表的第一行获取列名,并构建创建新表的SQL语句,假定所有列的数据类型均为文本类型(TEXT)。
  8. 尝试执行以下操作,对于每个工作表:
    • 使用构建的CREATE TABLE SQL语句创建新的表。
  9. 对于每个工作表中的每一行数据(跳过第一行,因为它包含列名):
    • 构建INSERT INTO SQL语句以插入数据行,同时处理可能的SQL注入问题,例如通过转义单引号。
  10. 执行构建的INSERT INTO命令,将一行数据插入到对应的Access表中。
  11. 如果在处理某个工作表时发生错误,捕获异常并打印错误信息,继续处理下一个工作表。
  12. 关闭与Access数据库的连接,并释放workbook对象使用的资源。

代码示例:

using System.Data.OleDb;
using Spire.Xls;namespace ExcelToAccess
{class Program{static void Main(string[] args){// Excel 文件路径string excelFilePath = "G:/Documents/Sample37.xlsx";// Access 数据库路径string accessDbPath = "output/Database.accdb";// 打开 Excel 文件Workbook workbook = new Workbook();workbook.LoadFromFile(excelFilePath);// 为 Access 创建 OleDb 连接字符串string connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={accessDbPath};Persist Security Info=False;";// 如果数据库文件不存在,提示创建 - 注意:此步骤通常在代码外部完成if (!System.IO.File.Exists(accessDbPath)){Console.WriteLine("请先创建一个 Access 数据库文件。");return;}// 创建 OleDb 连接using (OleDbConnection connection = new OleDbConnection(connectionString)){connection.Open();// 遍历每个工作表foreach (Worksheet sheet in workbook.Worksheets){string tableName = sheet.Name;// 获取第一行作为列名var columns = sheet.Rows[0].CellList;string createTableQuery = $"CREATE TABLE [{tableName}] (";foreach (var column in columns){createTableQuery += $"[{column.Value}] TEXT,"; // 假设所有列都是文本类型}createTableQuery = createTableQuery.TrimEnd(',') + ");";try{// 创建表using (OleDbCommand createTableCommand = new OleDbCommand(createTableQuery, connection)){createTableCommand.ExecuteNonQuery();}// 插入数据for (int i = 1; i < sheet.Rows.Length; i++) // 跳过第一行{var row = sheet.Rows[i];string insertQuery = $"INSERT INTO [{tableName}] VALUES (";foreach (var cell in row.CellList){insertQuery += $"'{cell.Value?.Replace("'", "''")}',"; // 防止 SQL 注入}insertQuery = insertQuery.TrimEnd(',') + ");";using (OleDbCommand insertCommand = new OleDbCommand(insertQuery, connection)){insertCommand.ExecuteNonQuery();}}}catch (Exception ex){Console.WriteLine($"处理工作表 {sheet.Name} 时发生错误:{ex.Message}");}}connection.Close();workbook.Dispose();}Console.WriteLine("Excel 数据已成功写入新的 Access 数据库!");}}
}

结果
C#将Excel数据导入Access数据库

本文介绍如何在.NET平台使用C#导入Excel数据到数据库中。

http://www.tj-hxxt.cn/news/48744.html

相关文章:

  • 网络水果有哪些网站可以做百度搜索引擎广告
  • wordpress文章图片函数seo关键词排名优化的方法
  • 宁波做网站 主觉文化免费的电脑优化软件
  • 加人引流加人网站怎么做做百度推广销售怎么找客户
  • 网站开发工具 知乎微信营销的10种方法技巧
  • 如何制作一个注册网站百度搜索引擎下载
  • 分类网站建设方案新品上市的营销方案
  • 部门网站建设工作总结seo权重优化软件
  • 做网站找浩森宇特网站推广软件免费观看
  • 建设网站费用 发票是几个税点代写文案平台
  • 如何用ps做网站首页b2b外贸接单平台
  • 中国设计网站官网cnd设计案例网
  • 深圳做网站价格长春seo网站管理
  • html5做的网站搜了网推广效果怎么样
  • 上饶婚纱工作室网站建设友链之家
  • wordpress+浮动播放器站长之家seo综合
  • ppt设计制作佛山外贸seo
  • 徐州企业网站建设公司扬州网络优化推广
  • 网站跟网页的区别是什么全球外贸b2b网站
  • 团购网站建设荆州百度推广
  • 什么网站可以免费做视频的软件下载免费seo免费培训
  • 企业建站 炫酷模板重庆seo关键词优化服务
  • 文档下载网站 建设整站优化工具
  • 网站开发合作合同范本搜索引擎优化的办法有哪些
  • 建筑网建设通网站作用是什么意思新乡seo顾问
  • 中国万网怎么自己做网站网络安全培训机构哪家好
  • 如何免费建一个学校网站企业站seo
  • 深圳罗湖外贸网站建设免费模板
  • 妇科医院网站建设怎么做百度seo优化多少钱
  • 网站怎么换域名网络营销的内涵