Excel导入到数据库(二)

2024-06-08 20:08
文章标签 excel 数据库 导入到

本文主要是介绍Excel导入到数据库(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        之前就写过一个将excel导入数据库的博客,http://blog.csdn.net/u011458469/article/details/41913293。这个是利用的Office的一个接口,直接就导入了。但是这个方法有很大的局限性,要求本地得有Office并且还要求了位数是64还是32位,不同位的Office提供了不同的接口,所以这个方法就对环境有了很大的要求,并且这个方法性能不怎么好,导入个1000条的数据就得停顿个2、3秒的。本文介绍了另外一种方法:利用Aspose.cells来导入。(该控件是商用的)

        首先,就是引用该控件:


然后导入命名空间:using Aspose.Cells;

第一步是将excel导入到DataTable中:

 //读取excel的数据,并放到datatable中。public static System.Data.DataTable ReadExcel(string filePath){Workbook book = new Workbook();book.Open(filePath);Worksheet sheet = book.Worksheets[0];Cells cells = sheet.Cells;return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);}
参数是要导入的excel表的路径。

导入到datatable中之后,第二步就是将该datatable添加到数据库的表中(要添加的表是新建的表,并且表的字段也是变量):

public void Import(string dataTableName, string filePath){//获取excel的数据,放到dt中DataTable dt = ReadExcel(filePath);//获取dt的所有字段名,放入strFieldsName中List<string> strFieldsName = new List<string>();foreach (DataColumn dc in dt.Columns){strFieldsName.Add(dc.ColumnName);}//定义list,拼接字符串List<string> list = new List<string>();string fName = null;for (int i = 0; i < dt.Columns.Count; i++){string fieldsName = strFieldsName[i].ToString().Trim();  //字段名list.Add(fieldsName);fName += list[i].ToString().Trim() + " varchar(30),";//获取字段名,并拼接字符串}fName = fName.Substring(0, fName.Length - 1);//去掉循环到最后的逗号","string sqlStr = "create table " + dataTableName + "( " + fName + ")";string strConn = ConfigurationManager.ConnectionStrings["sqlConn"].ConnectionString;//获取连接数据库的字符串//实例化sql连接SqlConnection conn = new SqlConnection(strConn);conn.Open();//实例化sql命令SqlCommand cmd = new SqlCommand(sqlStr, conn);//执行sql命令,创建数据表。cmd.ExecuteNonQuery();//关闭连接conn.Close();//将dt的数据放到新建的数据表中SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(strConn, SqlBulkCopyOptions.UseInternalTransaction);sqlbulkcopy.DestinationTableName = dataTableName;//数据库中的表名sqlbulkcopy.WriteToServer(dt);}
参数是要新建的表名(tableName)和文件路径(filePath)。

这样就可以导入数据库中了。



这篇关于Excel导入到数据库(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1043185

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1