首页 | 联系我们 | 叶凡网络官方QQ群:323842844
游客,欢迎您! 请登录 免费注册 忘记密码
您所在的位置:首页 > 开发语言 > Java开发 > 正文

将Excel文件导入为Java所用

作者:cocomyyz 来源: 日期:2013-07-25 02:08:26 人气:3 加入收藏 评论:0 标签:java

Excel中的文件格式:(看不清可以点击图片看原图)







User.java


package com.brj.importExcel;

public class User {
private int id;
private String userName;
private String password;

public int getId() {
  return id;
}

public void setId(int id) {
  this.id = id;
}

public String getUserName() {
  return userName;
}

public void setUserName(String userName) {
  this.userName = userName;
}

public String getPassword() {
  return password;
}

public void setPassword(String password) {
  this.password = password;
}

public String toString(){
  return "UserId: " + id + "; UserName: " + userName + "; Password: " + password;
}

}

ExcelImporter.java


package com.brj.importExcel;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

/**
* 将Excel中数据导入为java所用
*
* @author brj
* @time 2008-09-19
*
*/
public class ExcelImporter {

/**
* @param args
*/
public static void main(String[] args) {
  List<User> list = new ArrayList<User>();
  User user = null;
  Cell cell = null;

  String filePath = "d:/2008-09-19-15-21-45.xls";

  InputStream fs = null;
  Workbook workBook = null;

  try {
   // 加载excel文件
   fs = new FileInputStream(filePath);
   // 得到 workbook
   workBook = Workbook.getWorkbook(fs);
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (BiffException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

  // 取得sheet,如果你的workbook里有多个sheet 可以利用 wb.getSheets()方法来得到所有的。
  // getSheets() 方法返回 Sheet[] 数组 然后利用数组来操作。就是多次循环的事。
  Sheet sheet = workBook.getSheet(0);

  // 开始循环,取得 cell 里的内容,这里都是按String来取的 为了省事,具体你自己可以按实际类型来取。或者都按
  // String来取。然后根据你需要强制转换一下。
  for (int i = 0; i < sheet.getRows(); i++) {
   if (i == 0) {
    continue;
   }
   // for (int j = 0; j < sheet.getColumns(); j++) {
   // 对于User就三列
   user = new User();
   for (int j = 0; j < 3; j++) {
    cell = sheet.getCell(j, i);
    if (j == 0) {
     user.setId(Integer.parseInt(cell.getContents()));
    }
    if (j == 1) {
     user.setUserName(cell.getContents());
    }
    if (j == 2) {
     user.setPassword(cell.getContents());
    }
   }
   list.add(user);
  }
  workBook.close();

  // 打印到Console
  for (int i = 0; i < list.size(); i++) {
   System.out.println(list.get(i));
  }

}
}



这样控制台上就会打印:


UserId: 0; UserName: brj0; Password: liming0
UserId: 1; UserName: brj1; Password: liming1
UserId: 2; UserName: brj2; Password: liming2
UserId: 3; UserName: brj3; Password: liming3
UserId: 4; UserName: brj4; Password: liming4
UserId: 5; UserName: brj5; Password: liming5
UserId: 6; UserName: brj6; Password: liming6
UserId: 7; UserName: brj7; Password: liming7
UserId: 8; UserName: brj8; Password: liming8
UserId: 9; UserName: brj9; Password: liming9
UserId: 10; UserName: brj10; Password: liming10
UserId: 11; UserName: brj11; Password: liming11
UserId: 12; UserName: brj12; Password: liming12
UserId: 13; UserName: brj13; Password: liming13
UserId: 14; UserName: brj14; Password: liming14
UserId: 15; UserName: brj15; Password: liming15
UserId: 16; UserName: brj16; Password: liming16
UserId: 17; UserName: brj17; Password: liming17
UserId: 18; UserName: brj18; Password: liming18
UserId: 19; UserName: brj19; Password: liming19


其中别忘记还需要jxl.jar包。


本文网址:http://www.mingyangnet.com/html/java/121.html
读完这篇文章后,您心情如何?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
更多>>网友评论
发表评论
编辑推荐
  • 没有资料