中企动力 > 商学院 > java导入excel数据到数据库
  • ?

    java和数据库简单的面试笔试题

    安双

    展开

    1.以下说法正确的是。

    A. Java中所有的方法都必须在类内定义

    B. Java中主方法可以不在类内定义,其他方法都必须在类内定义

    C. Java中主方法必须在类内定义,其他方法不必类内定义

    D. Java中的所有方法都不必在类内定义

    2.Java中的源文件和编译后的文件扩展名分别是

    A..c和.java B. java和.doc C. .java和.class D. .c和.class

    3.以下语句中,没有创建出字符串对象的是

    A.String str ; C. String str= new String();

    B.String str = “Hello”; D. new String(“Hello”);

    4.判断两个字符串S1,S2值是否相等的语句是

    A.If(s1=s2) B. if(s1==s2) C. if(equals(s1,s2)) D. if(s1.equals(s2))

    5.数据库中存储的是

    A.数据 B. 数据以及数据之间的关系 C. 数据模型 D. 信息

    二、填空题

    1.Java是一种计算机语言程序,可以编写嵌入在网页中的______________小程序,也可以编写独立运行的_______________________应用程序。

    2.Java的3个分支是j2ee、________和________。

    3.带有_________修饰符的类称为最终类。

    4.Java中的八种基本类型:_______、_______、_______、_______、_______、

    _______、________、______。

    5.DBMS是指_____________,它是位于______和___________之间的一层管理软件。

    三、简答题

    1.一个8升水的杯子,现有3升和5升空杯各一个,怎样得到4升水和7升水?(水不能浪费,且不能使用其他任何工具。

    2.何为异常,异常处理的方法那两种?

    四、程序题

    1.随机生成1到10内(包含10)的整数。

    2.现有“学生选课系统”数据库,学生选课的关系模式为:

    学生:学号(char(10),姓名(char(20)),性别(char(2)),年龄(int ),所在系(char(20));课程:课程号(char(10)),课程名(char(20)),先行课(char(10)));

    选课:学号(char(10)),课程号(char(10)),成绩(int);

    请写出下列各题目的SQL语句。

    1) 创建“学生”表,为年龄字段设置缺省值为20,定义性别字段的取值只能为“男”或“女”,定义学号字段为“主码”;

    2)查询学生的学号,姓名,选修的课程名及成绩;

    3)将学生表中去全部学生的年龄加上3岁;

    答案已上传Java群285154486,学习与斗图同在。快乐学习中成长

  • ?

    SpreadJS ExcelIO实现服务器端Excel导入导出

    缪哲瀚

    展开

    SpreadJS在V10版本后推出了纯前端的Excel导入导出,这个功能可以很方便的实现客户端的Excel导入导出,但是如果用户需要导入导出到浏览器端又该怎么办呢?其实纯前端的Excel导入导出同样可以实现服务器端的Excel导入导出。下面让我们来看一下是如何实现的:

    本示例的后端使用JAVA语言,通过SpreadJS的前端导出导出与JAVA后端结合,实现分从服务器端导入Excel与导出Excel保存至服务器端这两个功能:

    从服务器端导入Excel:

    这部分使用纯前端实现,纯前端实现有一个弊端就是,浏览器没有权限访问服务器上工程目录以外的路径,所以需要将服务器端的Excel放入工程目录下。然后下载到前端直接打开,核心代码如下:

    导出Excel保存至服务器端:

    这部分使用前端导出功能与后端java结合的方式来实现,首先通过前端Excel导出,生成导出文件,然后通过formdata来承载导出文件,之后通过ajax将formdata传至后端java。后端java使用文件操作将文件保存至服务器端。

    这里有以下需要注意的地方:

    formdata没有办法改变enctype,而我们需要的用entype为multipart/form-data类型的form来承载导出文件。这里需要在jsp页面上创建一个空的form,并将其entype设置为multipart/form-data:

    之后js中只需要初始化一个该form的formdata实例即可:

    var fd = new FormData(document.forms.namedItem("myform"));

    以上就是核心的部分代码以及原理。

    了解更多

    SpreadJS是 Spread 表格开发系列产品之一。该产品是葡萄城公司出品的一系列功能和 Excel 类似的表格工具,支持桌面、Web 和移动平台开发,用于在应用系统中实现 Excel 导入导出、表格数据录入和编辑等交互功能,并提供灵活的定制能力和丰富的数据可视化效果。

    Spread 是目前市面上最接近 Excel 的表格开发工具,无论是界面、函数还是布局,都与 Excel 高度接近,正被华为、东软、中国平安、河海大学、中通快递、普华永道、魔方网表、思源软件等企业应用于项目开发中。

    除了纯前端的SpreadJS,该系列产品还包括 .NET 平台可用的Spread Studio,和服务器端批量操作Excel的Spread表格组件,敬请登陆官网了解更多:http://gcpowertools/

    关于葡萄城

    葡萄城成立于1980年,是全球最大的控件提供商,世界领先的企业应用定制工具、企业报表和商业智能解决方案提供商,为超过75%的全球财富500强企业提供服务。葡萄城于1988年在中国设立研发中心,在全球化产品的研发过程中,不断适应中国市场的本地需求,并为软件企业和各行业的信息化提供优秀的软件工具和咨询服务。

  • ?

    Excel办公必备|多个表格之间快速导入数据

    Florence

    展开

    对于一大部分走向职场的人来讲,Excel可能会经常用到。今天就分享一个比较实用的函数:多个表格之间快速导入数据 vlookup。

    很多人不明白这个函数的用法,今天我详细讲解一下。

    VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

    相信很多人看到这个很蒙圈吧。那我注解一下。

    lookup_value 要查找的值

    table_array 要查找的区域

    col_index_num 需要数据在查找区域的第几列数

    range_lookup 模糊匹配/精确匹配

    可能说还是有人说看不懂吧。那我们一起来看一个例子吧。

    我们看这两个表格:

    两个表格的数据不同需要将另外一个表的数据导入,即图中的成绩表总分导入学生表中。这时我们就利用vlookup。

    我们就在学生表中进行如下操作

    =VLOOKUP(D2,[成绩信息.xlsx]Sheet1!$A$1:$B$7,2,0) 我们可以看到在这实际运用中公式就是这样的。

    这样我们就可以把多个表格之间快速导入数据。

    在使用公式的时候我们需要注意我们选择的对象必须有一个在表格的最左侧。在我的例子中就是姓名一列必须有一个在表的最左侧,这是是两个数据在不同表或者Sheet页中需要满足。

    是不是感觉一下子可以从繁琐的工作解脱,早下班不是梦啦。

    如果有不懂的可以在评论区评论哦。

  • ?

    使用excel的数据导入功能

    家若魔

    展开

    如果说我们需要获取计算机内的文本文件的时候,我们除了使用超链接的和复制的方法,我们可以可以使用excel的数据导入功能,可以把文本文件直接导入到excel中直接转换成表格样式。

    1、在 “客户资料统计” 工作簿中新建工作表, 并命名为 “北京永桦包装有限公司” 。

    2、切换到 【数据】 选项卡, 在 【获取外部数据】 组中单击 【自文本】 按钮。

    3、弹出【导入文本文件】对话框,找到文本文件“北京永桦包装有限公司” , 选择文件,单击【导入】按钮。

    图1

    4、弹出文本导入向导,在此可以预览文本文件,单击【下一步】按钮。

    图2

    5、选中 Tab 复选框, 单击【下一步】按钮。

    图3

    6、在弹出的 【导入文本向导-步骤 3】 对话框中单击【常规】单选按钮,单击【完成】按钮。

    图4

    7、弹出【导入数据】对话框,单击【现有工作表】单选按钮,单击【确定】按钮。

    图5

    8、txt文本信息已导入到excel工作表中。

    图6

    就通过以上的几个简单步骤我们就可以把txt转换成excel表格文件了,使用excel的数据导入功能,大大的节省了我们的工作时间,提高了我们excel工作效率。

  • ?

    PHP快速导入数据到数据库

    辜负

    展开

    今天一朋友遇到将excel数据导入到mysql数据库, 20多万条的数据导入到mysql需要两分多钟,老板认为这个速度太慢了,于是我们就一起想办法,最终把时间缩短到13秒左右, 这里把解决问题的经过给大家做个分享.

    两分钟是这样的: 用phpexcel读取文件,然后通过foreach循环使用tp的插入数据库方法

    测试1: 读取phpexcel, 然后做个循环,不插入数据库就需要 1分多钟,于是就意识到读取 excel太花时间,那么有没有更好的文件可以读取呢

    测试2: 通过搜索,可以通过PHP直接读取csv格式的文件,于是,换成 csv的文件读取,时间少了一半,但仍然觉得时间太久

    测试3: tp插入数据库的方法比较花时间,然后换成原来 php连接插入数据库, 时间再次所短一半,这个时候还需要 30 多秒,能不能再减少了

    测试4: 思考:既然循环需要时间,那么是否可以大批量插入呢,经过搜索,原来sql语句还可以这样写:

    测试5: 把20多万分成20多次分批导入,时间再次缩短了很多,最终 13秒 搞定[本人电脑配置一般,电脑好应该会再快一些]

    代码如下:

    南昌雅腾教育专注php软件开发+web前端开发技术培训

    小班现场面授+技术总监手把手辅导+理论与企业项目实战结合

    转行零基础、4个月、包教会、推荐就业!

    学一技之长,有核心竞争力,实现高薪就业!

  • ?

    一起来学大数据|Java与数据库之间的连接JDBC

    聂迎天

    展开

    昨天我们看了数据库的使用,只不过那都是我们手工去输入的数据,今天我们用java来实现对数据库的连接。

    JDBC简介

    JDBC就是java 数据库连接,是java中的API,我们将用它来执行SQL语句,除了我们平常的mysql数据库以外,jdbc还提供了统一的多种的数据库。

    如上图所示客户端通过jdbc API加载驱动后实现了数据的连接。接下来我们给出详细的步骤。

    入门程序

    我们先来学习一个简单的,首先我们新建的Java项目,其次是导入mysql的数据驱动jar包,jar可以在网上直接找一个,很方便,不需要太高版本的。

    准备工作都有做好了之后,我们就可开始啦~

    1,.注册驱动

    方式一

    方式二

    在这里我们建议使用第一种方式,第二种方式会多次注册数据库,因为Driver()中其实就封装了一个注册驱动的方法,我们在外面又注册一次。

    2.建立连接

    我们通过上述的语句实现连接数据库,数据库对应写上数据库的名字,在后面将自己的数据库的用户名和密码因为补上。第二步就结束了。

    3.获取执行sql语句的statement

    4.执行sql语句的增删改查

    在上面图片中,我们一般将sql单独拿出来,赋值给sql,方便操作。

    5.如果是查询语句,就会有结果集返回,我们对其进行处理。

    6.释放数据库的资源

    按顺序依次关闭数据库的资源,防止资源的恶意占有。

    主要接口或类

    ---DriverManger---

    作用

    a、注册驱动

    b、获取与数据库的链接

    改进注册驱动:

    DriverManager.registerDriver(new com.mysql.jdbc.Driver());

    缺点:严重依赖具体的驱动类;会导致驱动被注册2次。

    替代方案:Class.forName("com.mysql.jdbc.Driver");

    获取与数据库的链接

    DriverManager.getConnection("jdbc:mysql://localhost:3306/ssm", "root", "hang");

    ---Connection---

    我们知道所有和数据库之间的连接我们都是通过链接的方式进行的,如果我们想要对数据库进行操作,我们就要从连接的对象中获取可以执行数据库的statement对象,实现我们的操作。

    ---statement---

    ---PreparedStatement---

    我们在这里,能用PreparedStatement就不要使用Statement,上面已经很明确了PreparedStatement的优点。

    ---ResultSet---

    作用:

    代表者查询语句的查询结果集

    上面就是对java连接数据库的简单介绍,下篇文章我们就会对上述的代码进行优化,解决代码中的硬编码问题,以及代码的冗余问题,我们还引入连接池强化数据连接速率。

    有帮助到大家的话,关注支持一下~

    感谢坚持关注的朋友

    世界很大,幸好有你

    欢迎在评论区留下你的问题或困惑,我将每天与你分享我的观点和心得。

    聚焦最新科技咨讯,探寻未来智能领域,我是女陶。

  • ?

    如何把excel数据导入navicat

    秋弼

    展开

    在导出的Excel表中,手动的录入一些数据,然后将这个表导入到数据库中。

    步骤1:运行【导入向导】,选择导入数据的类型

    步骤2:选择文件数据源

    步骤3:跳过。

    步骤4:给源文件定义一些附加选项,前三个选项一定要填写正确,否则将不能完成正确的导入。

           [栏位名行]:数据表字段所在的行位置

           [第一个数据行]:导入的数据表中源数据是从第几行开始的

           [最后一个数据行]:导入的数据表中源数据是从第几行结束的

    步骤5:选择目标表,也可以新建一个表

    步骤6:定义源栏位和目标栏位的对应关系,如果目标栏位设置了主键,在这一步中一定要勾选,否则也将无法正常导入数据

    步骤7:选择导入模式,如果是新表,选择第一项。可以根据具体情况选择不同的选项。这里选择第三项。

    步骤8:点击【开始】执行导入命令

    执行完之后,去数据库验证一下:

    (本文内容由百度知道网友茗童贡献)

  • ?

    整理关于java读取excel内容的例子供大家参考

    邢乐松

    展开

    1POI简介

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

    2POI下载

    poi下载地址:https://apache.org/dyn/closer.lua/poi/release/bin/poi-bin-3.17-20170915.tar.gz

    下载之后把压缩包解压,然后在项目里面引用解压文件夹里面的jar

    3新建java project,引入poi相关的jar

    4创建一个java类,编写代码

    package test;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.InputStream;

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

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

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

    public class ReadExcel {

    /**

    * @param args

    */

    @SuppressWarnings("resource")

    public static void main(String[] args) {

    try {

    InputStream is = new FileInputStream(new File(

    "D:/360bizhi/0_TITLE_CODE.xls"));

    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);

    // 获取每一个工作薄

    for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {

    HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

    if (hssfSheet == null) {

    continue;

    }

    // 获取当前工作薄的每一行

    for (int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {

    HSSFRow hssfRow = hssfSheet.getRow(rowNum);

    if (hssfRow != null) {

    String title_id = String.valueOf(hssfRow.getCell(0));

    // 读取第一列数据

    String title_name = String.valueOf(hssfRow.getCell(1));

    // 读取第二列数据

    String title_name_en = String.valueOf(hssfRow

    .getCell(2));

    System.out.println("===============title_id:"

    + title_id + ",title_name:" + title_name

    + ",title_name_en:" + title_name_en);

    } catch (Exception e) {

    e.printStackTrace();

    5运行main进行测试,查看打印结果

    打印结果和xls里面的值是一样的,说明读取excel成功

    请大家多多关注我的头条号,谢谢大家

  • ?

    利用workbench将excel数据导入到MySQL中

    叶静蕾

    展开

    数据导入的方式(csv,txt之类)

    在MySQL中,数据导入的方式有两种方式

    通过第三方客户端导入(workbench)

    通过mysql client 方式导入

    通过mysql clinet的导入方式,相比第三方客户端导入的方式,效率会高点,但是类似workbench这种的,因为图形UI做的相对比较人性,研发人员在处理数据的过程中减少对指令的交互

    具体操作方法 准备数据(csv准备)

    当你的CSV数据准备好之后,需要有个点注意(由于导入容易碰到编码问题,所以在导入之前,需要使用notepade++将csv文件的编码转换成utf-8的编码方式[格式-->utf-8编码格式])然后保存 导入数据

    1.选中你需要导入的库的项

    2.选择需要导入的csv文件(也可以是json格式)

    3.由于csv中的字段并不是完整是所有表的字段,故此我们在这里新创建一张表(建议是先创建一张跟要同步的表一样字段属性的表先)

    4.留意导入的数据是否正确

    5.一直点NEXT即可完成

    总结

    需要注意的是:如果使用workbench导入的时候,如果数据量不大,可以使用这种方式,如果数据量比较庞大,建议直接通过命令行的方式会高效,其中一个最明显的特征就是如果导入大量数据的CSV,在workbench导入的时候,可能会卡死或者桌面终端无法操作,从而导致导入失败

  • ?

    Java实现文件批量导入导出实例(兼容xls,xlsx)

    潘子轩

    展开

    1、介绍

    java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下。

    目前我所接触过的导入导出技术主要有POI和iReport,poi主要作为一些数据批量导入数据库,iReport做报表导出。另外还有jxl类似poi的方式,不过貌似很久没跟新了,2007之后的office好像也不支持,这里就不说了。

    2、POI使用详解

    2.1 什么是Apache POI?

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

    2.2 POI的jar包导入

    本次讲解使用maven工程,jar包版本使用poi-3.14和poi-ooxml-3.14。目前最新的版本是3.16。因为3.15以后相关api有更新,部分操作可能不一样,大家注意下。

    2.3 POI的API讲解

    2.3.1 结构

    HSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读写Microsoft Visio格式档案的功能。

    2.3.2 对象

    本文主要介绍HSSF和XSSF两种组件,简单的讲HSSF用来操作Office 2007版本前excel.xls文件,XSSF用来操作Office 2007版本后的excel.xlsx文件,注意二者的后缀是不一样的。

    HSSF在org.apache.poi.hssf.usermodel包中。它实现了Workbook 接口,用于Excel文件中的.xls格式

    常用组件:HSSFWorkbook excel的文档对象HSSFSheet excel的表单HSSFRow excel的行HSSFCell excel的格子单元HSSFFont excel字体HSSFDataFormat 日期格式HSSFHeader sheet头HSSFFooter sheet尾(只有打印的时候才能看到效果)样式:HSSFCellStyle cell样式辅助操作包括:HSSFDateUtil 日期HSSFPrintSetup 打印HSSFErrorConstants 错误信息表

    XSSF在org.apache.xssf.usemodel包,并实现Workbook接口,用于Excel文件中的.xlsx格式

    常用组件:XSSFWorkbook excel的文档对象XSSFSheet excel的表单XSSFRow excel的行XSSFCell excel的格子单元XSSFFont excel字体XSSFDataFormat 日期格式和HSSF类似;

    2.3.3 两个组件共同的字段类型描述

    其实两个组件就是针对excel的两种格式,大部分的操作都是相同的。

    2.3.4 操作步骤

    以HSSF为例,XSSF操作相同。

    首先,理解一下一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成。

    3、代码操作

    3.1 效果图

    惯例,贴代码前先看效果图

    Excel文件两种格式各一个:

    代码结构:

    导入后:(我导入了两遍,没做校验)

    导出效果:

    3.2 代码详解

    这里我以Spring+SpringMVC+Mybatis为基础

    Controller:

    Service

    3.3 导出文件api补充

    大家可以看到上面service的代码只是最基本的导出。

    在实际应用中导出的Excel文件往往需要阅读和打印的,这就需要对输出的Excel文档进行排版和样式的设置,主要操作有合并单元格、设置单元格样式、设置字体样式等。

    3.3.1 单元格合并

    使用HSSFSheet的addMergedRegion()方法

    参数CellRangeAddress 表示合并的区域,构造方法如下:依次表示起始行,截至行,起始列, 截至列

    3.3.2 设置单元格的行高和列宽

    3.3.3 设置单元格样式

    1、创建HSSFCellStyle

    2、设置样式

    3、将样式应用于单元格

    3.3.4设置字体样式

    1、创建HSSFFont对象(调用HSSFWorkbook 的createFont方法)

    2、设置字体各种样式

    3、将字体设置到单元格样式

    大家可以看出用poi导出文件还是比较麻烦的,等下次在为大家介绍下irport的方法。

    导出的api基本上就是这些,最后也希望上文对大家能有所帮助。

    学习Java的同学注意了!!!学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群495273252,我们一起学Java!

java导入excel数据到数据库

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP