JXL(针对Excel操作)系列之二:最简单的导入操作(main)

             同样是一个简单的针对Excel的导入操作,这里只是简单的列出了和前面一个一样的操作步骤.程序当中应该相当详细的说明了一切,希望大家可以看明白,都是相当基础相当简单的.接下来会扩展开去,进行WEB操作的.

  1. package com.lip.main;
  2. import java.io.File;
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import jxl.Cell;
  7. import jxl.Sheet;
  8. import jxl.Workbook;
  9. public class ImportExcel {
  10.     /**
  11.      * (最基本的导入操作.)
  12.      * 
  13.      * Author lip(Lizg)
  14.      * 2009-1-9
  15.      * 
  16.      * 同上一个一样,这一个也是简单的导入操作,其实同样是最基本的需求而已,
  17.      * 再加上一些处理就可以了,比如自己字段的处理,导入文件是否保存下来之类的.
  18.      * 
  19.      * 这里同样以一个main来说明一下其基本的操作过程.
  20.      * 
  21.      * 导入,就是从Excel中去取出数据,然后写入到数据库(这里就是数据库操作吧,相对于其他的Excel间操作之类的就省略)
  22.      * 
  23.      * 第一,同样是先准备好数据来源.这里不是建立好Excel,而是在那个盘符下建立一个导入Excel,并有数据,然后导入即可.
  24.      * 
  25.      * 接上一个例子.这一个同样是对MySQL操作,当然可以换成其他的诸如Oracle,SQLServer之类的.
  26.      * 
  27.      */
  28.     public static void main(String[] args) {
  29.         //(第一:)首先申明读取的的文件来源.再次申明,这里的都是直接的,我认为最基本但是又容易看懂的.
  30.         File importExcel = new File("c://导入测试.xls");
  31.         //这里确认这个文件是存在的,当然可以判断一下.用file.exists().看其是否存在,
  32.         /**(第一步完成)*/
  33.         
  34.         //(第二:)然后就先来连接数据库吧.同样是对同一个数据库操作,只是这里新增加一个表.见最下面.
  35.         try{
  36.             //数据库连接
  37.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  38.             Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:5885/excel""root""5885");
  39.             PreparedStatement prep = conn.prepareStatement("insert into importexcel (id,name) values (?,?)");
  40.             //这里是插入,用这个来的比较方便,所以就直接用这个接口来操作吧.
  41.             //System.out.println("Success");
  42.             /**(第二步完成)*/
  43.             
  44.             /**
  45.              * 到这里,已经连接好了数据库了,然后就是上传了,这里的sql语句就是插入,很简单,这里来看看读出数据.
  46.              * 
  47.              */
  48.             
  49.             //(第三步:)操作Excel文件读出里面的数据,其实思想是一样的,就是普通思维,
  50.             //获取Excel文件---->读取每一个工作单元(就跟前一个导入一样的是每一个整体表格)---->读取(一个表格)每一行的内容------(读取完成.)
  51.             
  52.             //首先是获取文件,也就是上面的Excel文件,这里是或者这个Excel文件.然后就是对之进行操作.
  53.             Workbook workBook = Workbook.getWorkbook(importExcel);
  54.             
  55.             //其次就是获取这个Excel文件的工作表格.这里就基本处理,当然可以不用数组形式,因为只有第一个工作表格有数据,其他两个没有,
  56.             //但是为了一般化,就仍然这样操作.
  57.             Sheet[] sheet = workBook.getSheets();
  58.             //这里大家看一下API就能够知道,其实可以通过参数来获得哪一个表格就行了,
  59.             //比如Sheet sheet = workBook.getSheet(1);
  60.             
  61.             
  62.             //这里就到了最后了,这里的最后就是对于工作表格的最后,既然是用数组来得到的,当然会对每一个工作表格进行读取操作,
  63.             //这里的读取就是读取每一个工作表格的每一行数据.
  64.             int sheet_i_num = 0;//获取工作表格的行数
  65.             String id   = "";
  66.             String name = "";//用来得到每一个单元格的内容,下面用到.
  67.             if(sheet!=null&&sheet.length>0){//判断一下
  68.                 for(int sheetNum=0;sheetNum < sheet.length; sheetNum++){//获得有多少个工作表格,对每一个操作.
  69.                     //(3.1这里首先要得到要读取的工作表格有多少行.)
  70.                     sheet_i_num = sheet[sheetNum].getRows();
  71.                     
  72.                     //接下来就是对每一行进行的去数据了,
  73.                     for(int rowNum = 0; rowNum < sheet_i_num ; rowNum++){
  74.                         //这里就开始对每一个单元格进行操作了.
  75.                         //显然,sheet[]第一个参数就是哪一个工作表格,然后getRow的就是哪一行.然后就赋值给Cell进行操作.
  76.                         Cell[]  cells = sheet[sheetNum].getRow(rowNum);
  77.                         //这里就开始读出每一行的数据了,这里不做其他的判断,比如,数据是整数否,是否超出字符串长度,是否为空等等,
  78.                         id   = cells[0].getContents();
  79.                         name = cells[1].getContents();//这里就是对每一个列来获取,cells就是把这一行的某一列赋值给你所要操作的值.
  80.                         
  81.                         //数据是取到了,然后就是直接插入到数据库当中了,
  82.                         prep.setInt(1, Integer.parseInt(id));
  83.                         prep.setString(2, name);
  84.                         prep.executeUpdate();
  85.                         System.out.println(id+"--------"+name);
  86.                     }
  87.                 }
  88.             }
  89.             workBook.close();
  90.             prep.close();
  91.             conn.close();
  92.         }catch(Exception e){
  93.             System.out.println(e.getMessage());
  94.         }
  95.         finally{
  96.             
  97.         }
  98.     }
  99. }
  100. /**
  101. 第一步:建立数据表:(表名称叫做importexcel)
  102. DROP TABLE IF EXISTS `importexcel`;
  103. CREATE TABLE `importexcel` (
  104.   `Id` int(11) NOT NULL auto_increment,
  105.   `name` varchar(50) default NULL,
  106.   PRIMARY KEY  (`Id`)
  107. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  108. 这个时候,里面什么都没有,
  109. 可以用select看看,
  110.  */
  111. /*
  112. 然后就是操作这个数据表字段.往里面添加数据,这里明显是 只有两个字段,第一个是ID,(int整数类型)
  113.                                                        第二个是NAME,(varchar字符串类型)  
  114. 很明显都能过看得出来.      
  115. 然后再来一次select试试.
  116.  */
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值