Excel文件导入数据库

代码

package com.mingrisoft.model;

import java.io.File;
import java.io.IOException;
import com.mingrisoft.util.DBHelper;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class wordExcel {
	public static void main(String[] args) {
		String file = "C:\\Users\\46250\\Desktop\\java开发项目\\英汉字典开发\\词典词库\\大学英语六级词汇表.xls";
		Word word = new Word();
		int n = 1;
        try {
            Workbook rwb = Workbook.getWorkbook(new File(file));
            Sheet rs = rwb.getSheet("CET6"); //表名,或者可以rwb.getSheet(0)
            int clos=rs.getColumns();//得到所有的列数
            int rows=rs.getRows();//得到所有的行数
            //System.out.println("clos:"+clos+" rows:"+rows);
            String meaning = new String();//用来存放单词的解释,由于有的单词有不止一个词性,分不同的单元格,后期需要组合
            //第一个单元格是getCell(0, 0)
            for(int i=0;i<rows;i++){
                int j=0;
                //第一个是列数,第二个是行数
                String spelling=rs.getCell(j++, i).getContents().trim();//单词拼写
                String phoneticSymbols=rs.getCell(j++, i).getContents().trim();//单词英标
                String meaning1=rs.getCell(j++, i).getContents().trim();
                meaning = meaning1;
                //如果下面一个单元格没数据,就将现有数据导入数据库
                //如果有数据,则连接
                if(rs.getCell(j++, i).getContents().trim() == ""){
                	n = DB(spelling, phoneticSymbols, meaning, n);
                	continue;
                }else{
                	j = j-1;
                	String meaning2=rs.getCell(j++, i).getContents().trim();
                	meaning = meaning + "\n"+meaning2;
                }
                if(rs.getCell(j++, i).getContents().trim() == ""){
                	n = DB(spelling, phoneticSymbols, meaning, n);
                	continue;
                }else{
                	j = j-1;
                	String meaning3=rs.getCell(j++, i).getContents().trim();
                	meaning = meaning + "\n"+meaning3;
                	n = DB(spelling, phoneticSymbols, meaning, n);
                }
            }
        } catch (BiffException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
	}
	//连接数据库
	private static int DB(String spelling, String phoneticSymbols, String meaning, int n){
		Word word = new Word();
		word.setSpelling(spelling.trim());
        word.setPhoneticSymbols(phoneticSymbols);
        //System.out.println(custArray[1].trim());
        word.setMeaning(meaning.trim());
            
        if (DBHelper.insertSingleWord(word) == -1) {
            System.out.println("保存失败!");
        }else{
        	System.out.println("插入第"+n+"数据");
        }
        return n+1;
	}
}

效果显示

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值