先建一个excel文件abc.xls.放到E盘根目录下。形如下:

name secondName
hot1 leave1
hot2 leave2

然后在数据库里建表。

CREATE TABLE `name` (
`name` varchar(30) default NULL,
`secondname` varchar(20) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

/*
* Excel2Mysql.java
*
* Created on 2006年9月25日, 下午6:48
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package excel;

/**
*
* @author hotleave
*/
import java.io.*;
import jxl.*;
import java.sql.*;

public class Excel2Mysql {
    
    public static Connection conn=null;
    public static Statement stmt=null;
    /** Creates a new instance of Excel2Mysql */
    public Excel2Mysql() {
        try{
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=123456&characterEncoding=UTF-8");
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }
    
    public static void main(String args[]){
        
        try{
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=user&password=pwd&characterEncoding=UTF-8");
            stmt=conn.createStatement();
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
        
        try{
            InputStream   is   =   new   FileInputStream("e:/abc.xls");
            Workbook book=Workbook.getWorkbook(is);//获得一个工作表对象
            Sheet sheet=book.getSheet(0);//取得第一个工作表,也可用sheet名字获得。
            int len=sheet.getRows();//取得行数
            String sql="";
            System.out.println("len is:"+len);
            Cell[] cells=null;
            System.out.println("读出来的结果为:");
            for(int i=1;i<len;i++){//从1开始,避免插入标题
                //System.out.println(i);

Cell [] cell = sheet.getRow(i);
                if(cell.length == 0) { //判断这行是不是空行,是空行的话就跳过
                continue;
                }
                cells=null;
                cells=sheet.getRow(i);

sql="insert into name values ('"+cells[0].getContents()+"','" +
                     cells[1].getContents()+"')";
                    stmt.execute(sql);
                    System.out.println("ok");
                //System.out.println("cells len is:"+cells.length);
                for(int j=0;j<cells.length;j++){//打印每行信息
                    System.out.print(cells[j].getContents()+" ");
                }
                System.out.println("");
            }
            book.close(); 
        }catch(Exception e){
            System.out.println(e); 
        }
    }
}

缺点:jxl对office2007不支持

判断是否是日期类型,然后用Date获取并重新格式化 保存为字符串即可

Cell cell = sheet0.getCell(col,row);

String cellcon="";
if(cell.getType() == CellType.DATE){
DateCell dc = (DateCell)cell;
Date date = dc.getDate();
SimpleDateFormat ds = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
  cellcon = ds.format(date);
}

jxl 导入excel以及日期格式处理的更多相关文章

  1. 使用NPOI导入Excel注意日期格式和数字格式

    //使用NPOI导入Excel public static DataTable importExcelToDataSetUsingNPOI(string FilePath, string fileNa ...

  2. Mysql导入Excel数据 日期问题 (Excel 与 MySQL 时间戳格式和日期 互转)

    https://blog.csdn.net/ghw455954461/article/details/7247738 今天项目表中需要导入好几w条数据 ,但日期由两个一个是标准时间一个为时间戳,程序中 ...

  3. 从Excel表中导入数据时日期格式的验证问题解决

    #region IsDateTimeType 私有方法判断导入数据是否是日期格式 /// <summary> /// 私有方法判断导入数据是否是日期格式 /// </summary& ...

  4. Excel导入的时候日期格式会变成double式的String数据处理

    例如:java从Excel单元格读取的日期如43052.0,在后台处理的时候又需要将其处理为日期格式,使用如下代码对其进行转换即可: SimpleDateFormat sdf = new Simple ...

  5. POI对Excel自定义日期格式的读取

    用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel private List<String[]> rosolveFile(InputStream is, String ...

  6. (后端)excel设置日期格式的步骤

    在excel中设置日期格式,分直接设置和代码设置. 一.直接设置: 选取日期所在的单元格,单元格右键菜单中--设置单元格格式.在单元格格式窗口中选数字类型为“日期”在右边的列表框中选取相应的日期格式即 ...

  7. poi处理excel自定义日期格式

    poi读取excel自定义时间类型时,读取到的是CELL_TYPE_NUMERIC,即数值类型,这个时候如果直接取值的话会发现取到的值和表格中的值不一样,这时应该先判断值是否是时间或者日期类型再进行处 ...

  8. excel转换日期格式,将yyyymmdd类型日期转换成yyyy-mm-dd等日期类型方法

    源数据日期格式:例如: 20160420 20160422 目标日期格式类型: 2016-4-20 2016-4-22 或 2016/04/20 2016/04/22 方法: 一.选中相应数据的单元格 ...

  9. jxl 导入excel

    jsp部分 <div class="modal-dialog"> <div class="modal-content"> <div ...

随机推荐

  1. C语言qsort函数用法

    qsort函数简介 排序方法有很多种:选择排序,冒泡排序,归并排序,快速排序等. 看名字都知道快速排序是目前公认的一种比较好的排序算法.因为他速度很快,所以系统也在库里实现这个算法,便于我们的使用. ...

  2. [mysql] linux 下mysql 5.7.12 安装

    1.下载mysql wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar ...

  3. 【extjs】 Extjs中的Ext.grid.Panel隐藏列会显示在表头中解决方法

    在Extjs中的GridPanel会有这样的情况,隐藏列会显示在menuDisabled中,但是这个一般没有什么用处,只是用于后台取值的作用,感兴趣的朋友可以了解下啊,希望本文对你有所帮助   在Ex ...

  4. 51nod 1336 RMQ逆问题

    RMQ问题是一类区间最值问题,这里给出一个特殊的RMQ问题,初始给定一个n长的排列P,注:n长排列是指有1~n这n个整数构成的一个序列每个整数恰好出现一次.并对这个排列P进行M次查询操作,每次查询形如 ...

  5. Android界面布局基本知识简述

    Android手机操作系统在模拟器中进行相关的编写,可以帮助我们实现各种功能需求.尤其是在界面的操作方面显得更为突出.在这里我们就可以对Android界面布局的相关操作来对这方面的知识进行一个深入的了 ...

  6. 【MySQL】技巧 之 count(*)、count(1)、count(col)

    只看结果的话,Select Count(*) 和 Select Count(1) 两着返回结果是一样的. 假如表沒有主键(Primary key), 那么count(1)比count(*)快,如果有主 ...

  7. 黄聪:360浏览器、Chrome调试(debugger)JS总是进入paused in debugger状态

    在通过Chrome浏览器进行web前端开发时,我们会经常用到Chrome自带的debugger工具,但是经常按完快捷键(F12)后,页面会进入paused in debugger状态,需要点击右上角的 ...

  8. [Java A] – is not an enclosing class

    public class A {public class B { }}; 需要实例B类时,按照正逻辑是,A.B ab = new A.B();那么编译器就会出现一个错误–“is not an encl ...

  9. Unable to locate Android SDK used by project

    Unable to locate Android SDK used by project: DJIgojava.lang.RuntimeException: Unable to locate Andr ...

  10. DBA_Tablespace表空间的概念和管控(概念)

    2014-07-24 Created By BaoXinjian