jxl 导入excel以及日期格式处理
先建一个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以及日期格式处理的更多相关文章
- 使用NPOI导入Excel注意日期格式和数字格式
//使用NPOI导入Excel public static DataTable importExcelToDataSetUsingNPOI(string FilePath, string fileNa ...
- Mysql导入Excel数据 日期问题 (Excel 与 MySQL 时间戳格式和日期 互转)
https://blog.csdn.net/ghw455954461/article/details/7247738 今天项目表中需要导入好几w条数据 ,但日期由两个一个是标准时间一个为时间戳,程序中 ...
- 从Excel表中导入数据时日期格式的验证问题解决
#region IsDateTimeType 私有方法判断导入数据是否是日期格式 /// <summary> /// 私有方法判断导入数据是否是日期格式 /// </summary& ...
- Excel导入的时候日期格式会变成double式的String数据处理
例如:java从Excel单元格读取的日期如43052.0,在后台处理的时候又需要将其处理为日期格式,使用如下代码对其进行转换即可: SimpleDateFormat sdf = new Simple ...
- POI对Excel自定义日期格式的读取
用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel private List<String[]> rosolveFile(InputStream is, String ...
- (后端)excel设置日期格式的步骤
在excel中设置日期格式,分直接设置和代码设置. 一.直接设置: 选取日期所在的单元格,单元格右键菜单中--设置单元格格式.在单元格格式窗口中选数字类型为“日期”在右边的列表框中选取相应的日期格式即 ...
- poi处理excel自定义日期格式
poi读取excel自定义时间类型时,读取到的是CELL_TYPE_NUMERIC,即数值类型,这个时候如果直接取值的话会发现取到的值和表格中的值不一样,这时应该先判断值是否是时间或者日期类型再进行处 ...
- excel转换日期格式,将yyyymmdd类型日期转换成yyyy-mm-dd等日期类型方法
源数据日期格式:例如: 20160420 20160422 目标日期格式类型: 2016-4-20 2016-4-22 或 2016/04/20 2016/04/22 方法: 一.选中相应数据的单元格 ...
- jxl 导入excel
jsp部分 <div class="modal-dialog"> <div class="modal-content"> <div ...
随机推荐
- ORACLE 事务学习
以下内容为本人的学习手记,有不足和理解错误的地方,请谨慎参考. 在ORACLE中的事务并不像MSSQL中的事务那样可以随意控制. ORACLE的事务是在进行数据第一次被修改后自动开启的无法显示的开启事 ...
- 如何修改Oracle字符集
一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库 ...
- 剑指offer系列49--求1+2+...+N的和
[题目]求1+2+3+…+n, * 要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). package com.exe10.offer ...
- Linux下编译LibCURL
编译环境 操作系统: Red Hat Enterprise Linux Server release 5.4 64-bit 编译工具: gcc (GCC) 4.1.2 20080704 (Red Ha ...
- [tty与uart]3.tty驱动分析
转自:http://www.wowotech.net/linux_kenrel/183.html 目录: 1 首先分析设备驱动的注册 1.1 uart_register_driver分析 1.2 tt ...
- [系统集成] Android 自动构建系统
一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包android 的打包一般 ...
- c++随机数生成
算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535, ...
- 《黄聪:手机移动站SEO优化教程》3、如何禁止百度对PC网站进行自动转码
视频地址:http://v.youku.com/v_show/id_XNzE2OTM0NzU2.html
- POJ 1410 Intersection(计算几何)
题目大意:题目意思很简单,就是说有一个矩阵是实心的,给出一条线段,问线段和矩阵是否相交解题思路:用到了线段与线段是否交叉,然后再判断线段是否在矩阵里面,这里要注意的是,他给出的矩阵的坐标明显不是左上和 ...
- Java多线程之简单的线程同步实例
数据类: package Thread.MyCommon; public class Data { public int num = 0; public synchronized int getEve ...