先建一个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. 08socket编程

    有个SO_REUSEADDR值得注意一下: 服务器端尽可能使用SO_REUSEADDR 在绑定之前尽可能调用setsockopt来设置SO_REUSEADDR套接字选项. 使用SO_REUSEADDR ...

  2. 解决tableView分割线左边不到边的情况

    //解决tableView分割线左边不到边的情况//    if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {//  ...

  3. SQL SERVER 2008安装时出现不能在控件上调用 Invoke 或 BeginInvoke错误 解决方法

    或者 SQL SERVER 2008安装时要求重启,但重启后仍要求重启.都可以使用此方法. 注册表的 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet ...

  4. LintCode "Copy Books"

    Classic DP. The initial intuitive O(k*n^2) solution is like this: class Solution { public: /** * @pa ...

  5. 剑指offer系列41---数字在数组中出现的次数

    [题目]统计一个数字在排序数组中出现的次数. package com.exe9.offer; /** * [题目]统计一个数字在排序数组中出现的次数. * @author WGS * */ publi ...

  6. 【转】分析Redis架构设计

    一.前言 因为近期项目中开始使用Redis,为了更好的理解Redis并应用在适合的业务场景,需要对Redis设计与实现深入的理解. 我分析流程是按照从main进入,逐步深入分析Redis的启动流程.同 ...

  7. requestscope.contextpath和<%=request.getContextPath()%>有何区别?(待解答)

    问题1:requestscope.contextpath和<%=request.getContextPath()%>有何区别? 问题2:${requestscope.contextpath ...

  8. [Perl] Getopt 函数来接收用户参数的使用

    我们在linux常常用到一个程序需要加入参数,现在了解一下perl中的有关控制参数的函数.getopt.在linux有的参数有二种形式.一种是–help,另一种是-h.也就是-和–的分别.–表示完整参 ...

  9. 黄聪:C#操作xml SelectNodes,SelectSingleNode通过 xPath 定位class包含Contains的DIV

    一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <mes ...

  10. ADF_Advanced ADF系列1_Fusion应用的客制和个性化(Part1)

    2015-02-17 Created By BaoXinjian