您的位置:首页 > 编程语言 > Java开发

java读取EXCEL文件内容

2013-04-25 16:29 501 查看
package com.cctchina.rbac.action.user;

import java.io.FileInputStream;

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;

public class ImportUser {

public static List readExcel(String excelFileName) throws BiffException, IOException{

//创建一个list 用来存储读取的内容

List list = new ArrayList();

Workbook rwb = null;

Cell cell = null;

//创建输入流

InputStream stream = new FileInputStream(excelFileName);

//获取Excel文件对象

rwb = Workbook.getWorkbook(stream);

//获取文件的指定工作表 默认的第一个

Sheet sheet = rwb.getSheet(0);

//行数(表头的目录不需要,从1开始)

for(int i=1; i<sheet.getRows(); i++){

//创建一个数组 用来存储每一列的值

String[] str = new String[sheet.getColumns()];

//列数

for(int j=0; j<sheet.getColumns(); j++){

//获取第i行,第j列的值

cell = sheet.getCell(j,i);

str[j] = cell.getContents();

}

//把刚获取的列存入list

list.add(str);

}

//返回值集合

return list;

}

public static void main(String[] args) {

try {

readExcel("I:/Users/Administrator/Desktop/技术汇总.xls");

} catch (BiffException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

另外:报这个错的时候 :jxl.read.biff.BiffException: Unable to recognize OLE stream

主要是因为:1.EXCEL版本不对,用2003的,不要用2007的

2.用EXCEL建立建立的文件不会出现这个问题了。

原因:你手工建立一个文件,并给它命名,给它后缀名,电脑可以识别是因为你的电脑装了OFFICE 里面的EXCEL。

但是在JAVA程序中并不知道你是EXCEL文件,所以被认为不能识别的。如果你的电脑没装EXCEL你再建立个文件再改名为exce的后缀名的话,你的电脑也不会识别是什么文件的。。你打开绝对是乱码。

3.excel导出来的时候没有用jxl和POI等库,所以导出来的文件不是标准的excel,

解决方法是:将原来的excel里的数据全部复制到另一个新建的标准的excel里,这就是一个标准的excel文件。这时在向数据库里导时。OK,成功通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: