如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)

随着信息化建设的不断发展,数据管理和处理已成为各行各业不可或缺的一部分。同时,在工作和生活中,使用的软件和工具也不断增多。其中Excel表格作为一种常用的办公软件,凭借着易操作、图形化展示等特点,得到了广泛应用。但是,Excel表格数据一般较为简单,难以处理复杂的数据,此时SQL数据库就成为了我们更好的选择。另外,如果将Excel表格数据放到SQL数据库中来管理,有助于统一数据格式和规范,提高数据整合的效率。

接下来,本文将介绍如何实现读取Excel表格数据到SQL数据库,让我们享受更快、更便捷地管理数据的乐趣。

一、配置环境

在读取Excel到SQL数据库之前,首先需要搭建相应的环境环境。以下是最常见的几种语言环境和数据库环境:

1. Python + MySQL

Python作为一种易于上手的程序语言,有着许多第三方包可以帮助我们轻松地读取Excel表格数据。而MySQL数据库由于其开源、跨平台、支持多用户的特点,也成为了许多开发人员喜欢的数据库之一。

需要注意的是,Python需要装对应的包-xlrd、pymysql。

2. Java + MySQL

Java作为一种多用途开发语言,在数据处理方面也拥有良好的表现。而MySQL数据库作为Java工程中广泛使用的数据库,也是开发人员处理Excel数据存储到数据库中一个很好的选择。

需要注意的是,Java需要用到的包是apache POI和mysql连接驱动-jdbc.jar。

3. .NET + SQL Server

.NET作为Microsoft公司推出的开发框架,具有强大的功能、丰富的特性和良好的体系结构设计。而SQL Server作为Microsoft公司推出的关系型数据库管理系统,同样是数据处理常用的DBMS之一。

需要注意的是,.NET需要用到的是Microsoft.Ace.OleDb.12.0和System.Data.SqlClient。

二、读取Excel文件

有时我们需要将Excel文件中的数据读取到数据库中,以便数据归并或存储。以下我们将介绍如何使用Python读取Excel表格。

1. Python读取Excel表格

Python读取Excel有很多方式,此处介绍使用第三方包xlrd读取Excel表格的方法。xlrd是python读取Excel的第三方包,与xlsxwriter一样都是非常好用的第三方库。

Excel数据表格为

调用xlrd的open_workbook函数打开xls文件,并获取需要读取的工作表worksheet:

import os

import xlrd

path = os.getcwd()

filename = path + ‘/data.xlsx’

workbook = xlrd.open_workbook(filename)

worksheet = workbook.sheet_by_index(0)

nrows = worksheet.nrows

ncols = worksheet.ncols

2. Java读取Excel表格

Java读取Excel有很多库可供选择,常用的包括jxl、poi、easyexcel等。此处使用POI读取Excel表格:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.ss.usermodel.*;

FileInputStream fis = new FileInputStream(new File(“data.xls”));

Workbook workbook = new HSSFWorkbook(fis);

Sheet sheet = workbook.getSheetAt(0);

int rowCount = sheet.getLastRowNum();

3. C#读取Excel表格

C#读取Excel需要使用Microsoft提供的Microsoft.Ace.OleDb.12.0数据库连接组件和System.Data.SqlClient组件:

private System.Data.OleDb.OleDbConnection connection;

private System.Data.OleDb.OleDbDataAdapter oleDbAdapter;

private ExcelDataSet.事业部DataTable table;

try

{

connection = new System.Data.OleDb.OleDbConnection(“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\”data.xlsx\”;Extended Properties=\”Excel 8.0;HDR=YES;IMEX=1\””);

oleDbAdapter = new System.Data.OleDb.OleDbDataAdapter(“SELECT * FROM [Sheet1$]”, connection);

table = new ExcelDataSet.事业部DataTable();

oleDbAdapter.Fill(table);

}

catch (Exception ex)

{

throw new Exception(“读取Excel失败,错误信息:” + ex.Message);

}

finally

{

if (connection != null)

{

connection.Close();

}

}

三、将Excel中数据读取到数据库中

1. Python将数据存储到MySQL

下面介绍使用Python将Excel数据写入到MySQL数据库中的方法。由于Python本身并不支持MySQL,所以我们需要通过第三方库pymysql来实现与MySQL的交互。首先需要安装pymysql:

pip install pymysql

import pymysql

conn = pymysql.connect(host=’localhost’, user=’root’, passwd=’***’, db=’***’, port=3306, charset=’utf8′)

cursor = conn.cursor()

# 创建表结构

try:

cursor.execute(”’CREATE TABLE excelData(name VARCHAR(22), age INT(20), address VARCHAR(40))”’)

conn.commit()

except:

print(‘数据表已存在,无需再创。’)

conn.rollback()

# 插入数据

for i in range(1, nrows):

name = worksheet.cell(i, 0).value

age = int(worksheet.cell(i, 1).value)

address = worksheet.cell(i, 2).value

values = (name, age, address)

cursor.execute(“INSERT INTO excelData (name, age, address) VALUES (%s, %s, %s)”, values)

conn.commit()

2. Java将数据存储到MySQL

下面介绍使用Java将Excel数据写入到MySQL数据库中的方法。同样需要使用mysql-connector-java的jar包:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.Row;

Connection conn = null;

PreparedStatement pstm = null;

try {

String url = “jdbc:mysql://localhost:3306/database?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true”;

String username = “root”;

String password = “root”;

Class.forName(“com.mysql.cj.jdbc.Driver”);

conn = DriverManager.getConnection(url, username, password);

conn.setAutoCommit(false);

pstm = conn.prepareStatement(sql);

for (int i = 1; i

Row row = sheet.getRow(i);

if (row != null) {

Cell cell0 = row.getCell(0);

Cell cell1 = row.getCell(1);

Cell cell2 = row.getCell(2);

String name = cell0.getStringCellValue();

int age = (int)cell1.getNumericCellValue();

String address = cell2.getStringCellValue();

pstm.setString(1, name);

pstm.setInt(2, age);

pstm.setString(3, address);

pstm.executeUpdate();

}

}

conn.commit();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (pstm != null) {

pstm.close();

}

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

3. C#将数据存储到SQL Server

下面介绍使用C#将Excel数据写入到SQL Server数据库中的方法:

private void BtnImport_Click(object sender, EventArgs e)

{

string connectionString = “Server=localhost;Database=database;User ID=sa;Password=***”;

string sql = “INSERT INTO excelData(name, age, address)VALUES(@name,@age,@address)”;

SqlConnection connection = new SqlConnection(connectionString);

try

{

connection.Open();

using (SqlCommand cmd = new SqlCommand(sql, connection))

{

for (int i = 0; i

{

DataRow row = table.Rows[i];

cmd.Parameters.Clear();

cmd.Parameters.AddWithValue(“@name”, row[0]);

cmd.Parameters.AddWithValue(“@age”, row[1]);

cmd.Parameters.AddWithValue(“@address”, row[2]);

cmd.ExecuteNonQuery();

}

}

}

catch (SqlException ex)

{

MessageBox.Show(ex.Message);

}

finally

{

connection.Close();

}

}

四、结语

通过执行以上步骤,我们可以将Excel表格中的数据读取并存储到数据库中,实现数据在不同软件及不同平台之间的可视化和共享。另外,在进行数据管理的过程中,我们也需要了解数据的结构及需要存储的字段,从而能够更好地管理和处理数据。在日常工作中,这些技能会以不同的形式展现出来,并且在未来的数据运维中,这些技能也会变得更为重要。

相关问题拓展阅读:

  • 怎样将EXCEL数据表导入到SQL中

怎样将EXCEL数据表导入到SQL中

之一步:登录到 SQL Server Management Studio

第二步:在 “对象资源管理器 ”中右键单击 “管理毕团 ”,在弹出列表中单击 “导入数据 ”

第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)

第备清四步:指定目标数据库服务,依次单击 “下一步 ”。。。。至到 “完成 ”

第五步:重新打到仿数前 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。

在Excel中录入好数据以后,可能会有导入数据库的需求,这个时候就需要利用一些技巧导入。

如何将excel表导入数据库的方法:

1、对于把大量数据存放到数据库中,更好是用图形化数据库管理工具,可是如果没渣庆有了工具,只能执行命令的话这会是很费时间的事。那只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可。

2、对下面数据进行组合,这用到excel中的一个功能。

在excel中有个fx的输入昌猜框,在这里把组好的字符串填上去就好了。

注:字符串1 & A2 &字符串2 & …

A2可以直接输入,也可以用鼠标点对应的单元格。

3、每个字符串之间用 & 符号进行连接。下面是之一条连接字符串

=”insert into tavern values(‘”&A2&”‘,'”&B2&”‘,'”&C2&”‘,'”&D2&”‘);”

写好后按回车键Enter就能组合出对应的字符串了。

insert into tavern values(‘jw_agi’耐梁型,’曙光’,’0′,’1′);

4、组好之一行的字符串后,把鼠标放到单元格右下方,出现加粗的十字,单击按下(别松开),一直往下拉,直到最后一行再放开就行了。

5、这样就把insert语句都整理好了,接下来就是把这些语句批量执行就可以了。

方法/步骤

  打开SQL Server Management Studio,按图中的路径进入导入数据界面。

  导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。

  数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。

  选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。

  再次确认文件路径没有问题,点击下一步。

  默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。

  选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据我们不想导入,则可以编写查询指定的数据进行导入。点击下蠢昌瞎一步。

  选择我们需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。

  点击进入下一步。

  在这里完整显示了我们的导入的信息,执行内容,再次确认无误带空后,点击完成,开始执行。

  可以看到任务执行的过程和进度。

  执行成功:我们可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT * FROM price$就可以查看已导入的数据迅首内容。

打开sql server 2023,如袭弯数图,并且准备好Excel数据表,下面工作马上开始闹亏

打开sql server 2023之后随意选择一个数据库,右击任务——导入数据。

导入数据之一个页面,点击下一步

选择数据源为Excel,选择文件路径和Excel版本,点击下一步

选择目标源和服务器名称,使用你自己的登录方式,点击下一步,选择之一个选项,复制。。。。

选择表和数据目标,如图所示,可以点击预览,然后下一步——立即执行——下一步——完成

传拍首输完成,如图所示

刷新数据库,查看新出现的数据表,就可以发现新导入的数据了,OK了

下面是使用Java实现的,将Excel数据表中的数据导入到数据库里里面。

public class ReadExcel {

   /**

    * 对外提供读取excel 的方法

    * */

   public static List> readExcel(File file) throws IOException {

String fileName = file.getName();

String extension = fileName.lastIndexOf(“.”) == -1 ? “” : fileName

 .substring(fileName.lastIndexOf(“.”) + 1);

if (“xls”.equals(extension)) {

return read2023Excel(file);

} else if (“xlsx”.equals(extension)) {

return read2023Excel(file);

} else {

 戚蠢throw new IOException(“运迹不支持的文件类型”);

}

   }

   /**

    * 读取 office 2023 excel

    *

    * @throws IOException

    * @throws FileNotFoundException

    */

   private static List> read2023Excel(File file)

throws IOException {

List> list = new LinkedList>();

HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(file));

HSSFSheet sheet = hwb.getSheetAt(0);

Object value = null;

HSSFRow row = null;

HSSFCell cell = null;

int counter = 0;

for (int i = sheet.getFirstRowNum(); counter linked = new LinkedList();

for (int j = row.getFirstCellNum(); j > read2023Excel(File file)

throws IOException {

List> list = new LinkedList>();

// 构造 XSSFWorkbook 对象,strPath 传入文件路径

XSSFWorkbook xwb = new XSSFWorkbook(new FileInputStream(file));

// 读取之一章表格内容

XSSFSheet sheet = xwb.getSheetAt(0);

Object value = null;

XSSFRow row = null;

XSSFCell cell = null;

int counter = 0;

for (int i = sheet.getFirstRowNum(); counter linked = new LinkedList();

for (int j = row.getFirstCellNum(); j > list = readExcel(new File(filePath));

 request.setAttribute(“list”, list);

 RequestDispatcher dispatcher = request

.getRequestDispatcher(“/read.jsp”);

 dispatcher.forward(request, response);

*/

} catch (IOException e) {

e.printStackTrace();

}

   }

}

关于读取excel sql数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

数据库运维技术服务 » 如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)
如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图

网站小编 普通

分享到:



相关推荐

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

Oracle数据库管理的技巧和艺术 (oracle数据库管理艺术)

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

几种常见的数据库:介绍您应该知道的最常见的数据库。 (几种常见的数据库)

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

数据库中的数组是什么? (数据库中的数组是什么类型的数据)

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

轻松高效,WPS数据库软件下载,快捷管理数据! (wps数据库软件下载)

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

房地产建设成本数据库:项目成本全掌握 (房地产建设项目成本数据库)

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

数据库索引建立中断怎么办? (数据库索引建立中断)

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

非数据库安全技术:保障数据安全的新方式 (不是数据库安全技术)

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1

简易教程:如何将xlsx数据导入数据库? (xlsx 怎么导入数据库)

随机文章

如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1
SQL 逆序查询:轻松获取数据库信息 (sql 查询数据库逆序)
如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1
Spring实现双数据源配置:连接多个数据库 (spring 连两个数据库)
如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1
国际区号数据库:方便通讯的必备工具 (国际区号数据库)
如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1
SQL Server 数据库拷贝教程 (sql server 拷贝数据库)
如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1
使用Ajax实现页面跳转并传送数据库。 (ajax跳转页面传送数据库)
如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图1
如何设计简单易懂的数据库课程报告 (简单一点的数据库课程设计报告)

最近更新
  • SQL Server开启进销存管理(sqlserver进销存)
  • Windows用户学习Linux远程连接命令(linux 远程连接命令)
  • 手把手教你使用MySQL创建数据库(mysql手动创建数据库)
  • Oracle数据库的紧缩之路(oracle 数据库收缩)
  • 为项目构建更优性能: 使用Redis缓存(项目中使用redis缓存)
  • 备份简单又高效——Linux开源备份软件(linux 开源备份软件)
  • 改变MSSQL数据库端口号:一个简单的方法指南(改mssql数据库端口号)
  • MSSQL分区表索引:优化数据存储(mssql 分区表 索引)
  • MSSQL客户端工具:快速下载体验!(mssql客户端工具下载)
  • MSSQL独占模式加速数据库更新(mssql 独占 更新)
  • 话题SQLServer:探索最新技术发展趋势(关于SQLServer的)
  • 用Redis维护IP限制列表(redis ip限制)
  • MySQL如何运行SQL文件(mysql运行sql文件)
  • MSSQL 更新文件组结构:简便、高效、安全(MSSQL修改文件组)
  • 优秀的SQL Server:值得信赖的性能特点(sqlserver 特点)
  • MSSQL与RAVN技术结合,更好地保护数据安全(mssql ravn)
  • MSSQL数据库密码:查看指南(mssql数据库密码查看)
  • MSSQL获取月份数据实现方案(mssql 获取月份)
  • Redis缓解项目压力:细节决定成败(项目加redis)
  • 【mssql中实现多个like查询的方式】(mssql 多个like)
  • 标签

    Linux Linux教程 Linux资讯 MacOS MacOS教程 MacOS资讯 MongoDB MongoDB教程 MongoDB资讯 MSSQL MSSQL错误 MySQL mysql教程 MySQL维护 MySQL资讯 Neo4j Neo4j教程 Neo4j资讯 ORACLE Oracle优化 oracle内部视图 oracle参数 oracle开发 oracle异常修复 oracle故障处理 oracle教程 oracle维护 oracle视图 ORACLE资讯 oracle远程维护 ORA错误码 Redis Redis教程 Redis资讯 SQLServer SQLServer报错 SQLServer教程 SQLServer资讯 SQL修复 SQL异常 SQL远程处理 Windows 技术文档 操作系统 数据库

    如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图2

    技术标签:安装配置、性能优化、备份恢复、异常处理、数据迁移、咨询服务。

    本站导航
    • 服务范围
    • 关于我们
    • 隐私政策
    技术文章
    • 数据库技术
    • 操作系统技术
    • 教程服务
    快速搜索

    数据恢复、异常处理、MySQL、Oracle

    本站部分资源来自互联网收集,仅供用于学习和交流,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站站长删除

    © 2020 Theme by - 数据服务 . All rights reserved 苏ICP备15021567号






    如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图2

    • 登录
    • 注册

    安全登录
    立即注册 忘记密码?

    如何实现读取Excel文件到SQL数据库? (读取excel sql数据库)插图2

    方法/步骤

    香港服务器首选后浪云,2H2G首月10元开通。
    后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

    THE END