A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋斗的青春 金牌黑马   /  2012-10-20 16:01  /  3840 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

java如何读取excel表格中的数据?

1 个回复

正序浏览
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.util.ArrayList;
  6. import java.util.List;

  7. import jxl.Cell;
  8. import jxl.Sheet;
  9. import jxl.Workbook;
  10. import jxl.read.biff.BiffException;
  11. /**
  12. * 读取excel公共方法
  13. *
  14. *
  15. */
  16. public class ExcelReader {
  17.         /**
  18.          *
  19.          * @param excelFile 读取文件对象
  20.          * @param rowNum 从第几行开始读,如果有一行表头则从第二行开始读
  21.          * @return
  22.          * @throws BiffException
  23.          * @throws IOException
  24.          */
  25.         public static List<String[]> readExcel(File excelFile,int rowNum) throws BiffException,
  26.                         IOException {
  27.                 // 创建一个list 用来存储读取的内容
  28.                 List<String[]> list = new ArrayList<String[]>();
  29.                 Workbook rwb = null;
  30.                 Cell cell = null;
  31.                 // 创建输入流
  32.                 InputStream stream = new FileInputStream(excelFile);
  33.                 // 获取Excel文件对象
  34.                 rwb = Workbook.getWorkbook(stream);
  35.                 // 获取文件的指定工作表 默认的第一个
  36.                 Sheet sheet = rwb.getSheet(0);
  37.                 // 行数(表头的目录不需要,从1开始)
  38.                 for (int i = rowNum-1; i < sheet.getRows(); i++) {
  39.                         // 创建一个数组 用来存储每一列的值
  40.                         String[] str = new String[sheet.getColumns()];
  41.                         // 列数
  42.                         for (int j = 0; j < sheet.getColumns(); j++) {
  43.                                 // 获取第i行,第j列的值
  44.                                 cell = sheet.getCell(j, i);
  45.                                 str[j] = cell.getContents();
  46.                         }
  47.                         // 把刚获取的列存入list
  48.                         list.add(str);
  49.                 }
  50.                 // 返回值集合
  51.                 return list;
  52.         }
  53.        
  54.         public static void main(String[] args) {
  55.                 String excelFileName = "abc.xls";
  56.                 try {
  57.                         List<String[]> list = ExcelReader.readExcel(new File(excelFileName),1);
  58.                         for (int i = 0; i < list.size(); i++) {
  59.                                 String[] str = (String[])list.get(i);
  60.                                 for (int j = 0; j < str.length; j++) {
  61.                                         System.out.println(str[j]);
  62.                                 }
  63.                         }
  64.                 } catch (BiffException e) {
  65.                         e.printStackTrace();
  66.                 } catch (IOException e) {
  67.                         e.printStackTrace();
  68.                 }
  69.         }
  70. }
复制代码
以上list中值为所读取之后存储的集合。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马