Java读EXCEL文件需要用到jar包jxl.jar,但只支持".xls"文件不支持".xlsx"文件。需要读取".xlsx"文件时在EXCEL里将其另存为".xls"文件即可。jar包在eclipse开发环境使用方式如下:
需要用到jxl.jar的项目右键"Properties - Java Build Path - Libraries" 选项卡下点击"Add External JARs"添加jxl.jar文件即可(如下图所示)。
下面是一份示例代码,演示了简单的读EXCEL操作:
类文件
/*
* 从开课信息数据data.xls文件中读取每一个时段(11,12,...)的课程名和课程总数
*/
package loadExcel;
import java.io.*;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class LoadExcel {
public int loadExcel(String ctime)
{
try {
int cnt = 0;
InputStream fis = new FileInputStream(new File("data.xls"));// 输入字节流
Workbook wb = Workbook.getWorkbook(fis); // Excel Workbook类
Sheet sheet = wb.getSheet(0); // 标签页,getSheet()里是标签页号
int i = 0;
for (i=0; i<sheet.getRows(); i++)
{
String depart = sheet.getCell(0,i).getContents(); // 索引是(column,row)
String courseName = sheet.getCell(3,i).getContents();// 读出的结果是字符串
String ttime = sheet.getCell(7,i).getContents();
if (ttime.contains(ctime) && !depart.contains("美术学院"))
// 美术学院不在教学楼上课,要去掉
{
System.out.println(depart+"\t"+courseName+"\t"+ttime);
cnt++;
}
}
return cnt;
}
catch (FileNotFoundException e){
e.printStackTrace();
return -1; // file error
}
catch (BiffException e)
{
e.printStackTrace(); // Biff error
return -1;
}
catch (IOException e)
{
e.printStackTrace();
return -1; // IO error
}
}
}
测试类文件
package loadExcel;
public class RunLoad {
public static void main(String args[])
{
LoadExcel lc = new LoadExcel();
System.out.println(lc.loadExcel("11"));
}
}