用Java JXL实现从excel读出数据转入数据库及例子

转载 2008年09月29日 18:37:00
欢迎点击此处订阅本Blog Blog 订阅

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "image"; //2007-07-26: CSDN google_ad_channel = "6063905817"; google_color_border = "6699CC"; google_color_bg = "E6E6E6"; google_color_link = "FFFFFF"; google_color_text = "333333"; google_color_url = "AECCEB"; google_ui_features = "rc:6"; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

今天给别人做东西,结果对方提出了这个要求:能不能把excel里的数据直接导入数据库?

回来在网上一查,还真有一个这样的java包。叫jxl。也是sourceForge上的一个项目。大家可以搜一下,这里提供下载地址(工程名叫jexcelapi)。http://www.jspcn.net/htmldown/11248971876251883.html

下载来之后就可以用这提供的类来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);
                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);
        }
    }
}

呵呵,大家自己试一下吧。可以创造出来更多的东西啊。结合一下smartUpoad也许能做一个在线处理的。


转自:http://hi.baidu.com/myeking/blog/item/f306a638898ecec6d462256f.html  小李在此鸣谢



<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x60, 创建于 08-8-6 */ google_ad_slot = "7368701459"; google_ad_width = 468; google_ad_height = 60; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x15 横链接单元 */ google_ad_slot = "5785741422"; google_ad_width = 468; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<script type="text/javascript" src="http://www.google.com/reader/ui/publisher.js"></script> <script type="text/javascript" src="http://www.google.com/reader/public/javascript/user/00697638153916680411/state/com.google/broadcast?n=5&callback=GRC_p(%7Bc%3A%22green%22%2Ct%3A%22%5Cu8FD9%5Cu4E9B%5Cu6587%5Cu7AE0%5Cu4E5F%5Cu503C%5Cu5F97%5Cu4E00%5Cu770B%22%2Cs%3A%22false%22%7D)%3Bnew%20GRC"></script>

JXL导入导出Excel到数据库

项目结构,需要用到的第三方jar为:jxl.jar用于读写Excel,mysql-connector-java-5.1.26.jar用于连接MySQL数据库 注意:导入导出的表格在项目名目录...
  • gsls200808
  • gsls200808
  • 2015年10月27日 23:25
  • 2039

使用JAVA的poi进行Excel表格的读取,以及往数据库进行数据的插入

JAVA通过poi进行Excel文档的读取操作
  • QT1E2
  • QT1E2
  • 2017年12月01日 14:37
  • 216

Java Web获取数据库数据,利用jxl实现数据导出成Excel文件

一、效果图 二、代码 数据库操作类MysqlUtil.java package com.jekin.utils; import java.sql.Connection; import java....
  • FJeKin
  • FJeKin
  • 2016年12月13日 18:14
  • 1841

通过jxl来实现数据库数据导入到excel表中

当数据库中的数据需要放入excel中下载是,运用jxl来实现该功能是个不错的选择,通过代码来给大家说一下如何使用jxl来生成excel表格     这个方法就是生成excel的通用类,主需要你往里面传...
  • u010483873
  • u010483873
  • 2014年02月23日 23:51
  • 900

java读取数据库并导出到Excel 用到 jxl

数据库用的是sqlserver的。自己再去修改成mysql测试 import java.io.File; import jxl.*; import jxl.write.*; import...
  • ghosthuo
  • ghosthuo
  • 2014年03月28日 14:39
  • 883

jxl导出Excel大数据

前言      看了好几篇文章介绍导出大数据到excel,但是都是通过xml文件,需要熟悉源码,纠结了,之前没搞过xml一时半会肯定搞不定啊,今天就简单的介绍下不用xml也能实现大数据导出到xls文件...
  • gaodebao1
  • gaodebao1
  • 2017年03月10日 13:31
  • 604

Java利用Jxl向数据库上传下载Excel文件

由于公司大量的项目表汇总统计不方便,应公司领导要求能够将Excel项目统计表上传至数据库中,并且下载汇总的项目表。 1.程序主界面  程序入口代码 package cn.c...
  • xiaoy_c
  • xiaoy_c
  • 2017年02月22日 17:32
  • 242

jxl 读写Excel实例

本篇文章主要讲的是jxl 操作Excel的三个实例,一个是读取Excel表格数据,一个是 写一个新的Excel表格,最后是更新现有的Excel表格。在开始全面学习 jxl 之前,我们先看几个例子,让大...
  • u010657094
  • u010657094
  • 2015年10月29日 14:02
  • 1328

JXL将excel的数据导入到数据库

excel数据如下: 数据库的表格如下: 读取Excel的数据,插入到数据库中,访问的方法是insert: public class TestExcel extends BaseAc...
  • zfc0826
  • zfc0826
  • 2014年04月09日 15:08
  • 1551

通过jxl读取Excel报错问题

需要用到的jar包jxl.jar 问题一:报读取不到文件错误 原因是可能你读取的Excel文件后缀名无效:比如(test.xlsx)2016版的Excel工具默认后缀都是.xlsx了,通过...
  • u012012900
  • u012012900
  • 2017年04月13日 15:11
  • 719
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Java JXL实现从excel读出数据转入数据库及例子
举报原因:
原因补充:

(最多只允许输入30个字)